On 12/16/05, Jesse Allen the3dfxdude@gmail.com wrote:
Hi Alexandre,
This patch is much improved. It passes all tests this time including additional ones you will see in the new tests patch.
Changes: Add pf_is_integer_format to detect integer formats Add pf_integer_conv for I64 types Foward I32 and I to libc's printf Correctly handle long long Update pf_fill to handle the sign for signed integers Fix pf_fill to ignore flags->PadZero for printing zeroes when flags->LeftAlign is set Fix existing pf_is_*_format to require explicit upper and lower case formats Still tolower( flags.Format ) before we use libc's printf (to avoid regressions?) Allow flags.Sign to be ' ' (space) for the sign place holder, also make sure '+' overrides it.
Any comments now?
Jesse Allen the3dfxdude@gmail.com writes:
Changes: Add pf_is_integer_format to detect integer formats Add pf_integer_conv for I64 types Foward I32 and I to libc's printf Correctly handle long long Update pf_fill to handle the sign for signed integers Fix pf_fill to ignore flags->PadZero for printing zeroes when flags->LeftAlign is set Fix existing pf_is_*_format to require explicit upper and lower case formats Still tolower( flags.Format ) before we use libc's printf (to avoid regressions?) Allow flags.Sign to be ' ' (space) for the sign place holder, also make sure '+' overrides it.
Any comments now?
You should split the patch, you are trying to fix too many things at once. Also it still fails some tests:
printf.c:45: Test succeeded inside todo block: Problem with long long printf.c:46: Test succeeded inside todo block: return count wrong printf.c:280: Test failed: failed printf.c:281: Test failed: return count wrong printf.c:465: Test succeeded inside todo block: Problem with long long