]> Kevux Git Server - fll/commit
Progress: continue string and convert changes, fixing bugs.
authorKevin Day <thekevinday@gmail.com>
Fri, 30 Jul 2021 03:36:13 +0000 (22:36 -0500)
committerKevin Day <thekevinday@gmail.com>
Fri, 30 Jul 2021 03:36:13 +0000 (22:36 -0500)
commitb9630fc076319f8d54b1f2c6a0a739d43fcf6c7c
tree21325b9a9da1ff2ec1877c77d283f6df526cf240
parent8b6a224ba06e92a3e2b38460487f319e9c1d0d6d
Progress: continue string and convert changes, fixing bugs.

The byte comparison should be against 0xf and not 0x7.
As a result some numbers, such as 8, were being turned into 0.

The private convert function wasn't correctly converted when it was restructured.
Wrong parameters were used and the digits were being incorrectly set when the number is 0.

Looks like I needed a double pointer and not a single pointer.
I may redesign this to not depend on a double pointer.
The design will be to change the behavior to operate more like fprintf() in that a number of bytes printed is returned.
This would put the return type in a non-standard (non FLL standards that is) but acceptable state.

The byte_dump program had the parameters placed in the wrong location.

Another consideration is that I might implement f_print_color() (which would operate similar to the now removed f_color_print()).
This would only be for a single color for simplicity purpose and would only accept a single color set after the string.

Such as:
  f_print_color("My name is %S.", main.context.set.title, main.output.stream, name);

Which is cleaner than:
  f_print_string("%[My name is %S.%]", main.output.stream, main.context.set.title, name, main.context.set.title);

This is likely to cover a common case and so I believe is an acceptable compliment to f_print_string().
level_0/f_conversion/c/conversion.c
level_0/f_conversion/c/private-conversion.c
level_1/fl_print/c/print.c
level_1/fl_print/c/print.h
level_1/fl_print/c/private-print.c
level_1/fl_print/c/private-print.h
level_2/fll_print/c/print.c
level_2/fll_print/c/print.h
level_3/byte_dump/c/byte_dump.c
level_3/byte_dump/c/private-byte_dump.c