[syslinux] [PATCH] syslinux/com32: Fix the printing of left zero padded hexadecimals with a leading '0x'.

Martin Str|mberg ams at ludd.ltu.se
Thu Feb 8 07:19:04 PST 2018

On Thu, Feb 08, 2018 at 11:01:21AM +0000, Brett Walker via Syslinux wrote:
> From: Brett Walker <brett.walker at geometry.com.au>
> When printing hexadecimal numbers to a fixed width, padded with leading zeros,
> and also having a leading '0x'; the resultant string can be shortened by up to
> two characters if any leading zero padding character required is.
>     int hexnum = 0x00001234;
>     printf("%08X", hexnum);  // results in 00001234
>     printf("%#08X", hexnum); // results in 0x001234
> To correct this, the zero padding counting logic needs to use ndigits instead of
> nchars.

No. You asked for at least 8 chars output. You got 8 chars output. If you
want/expect at least 10 chars output, ask for 10 chars.


More information about the Syslinux mailing list