From 3e881b59bde88229e1f77395efe60be38a0e8d6d Mon Sep 17 00:00:00 2001 From: Owen Shepherd Date: Sat, 25 Aug 2012 03:18:57 +0100 Subject: [PATCH] PDCLIB-6: int2base: alternate conversion specifier for hex output (#x/#X) doesn't print 0x/0X if value==0 --- functions/_PDCLIB/print.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/functions/_PDCLIB/print.c b/functions/_PDCLIB/print.c index 78716d1..f06a532 100644 --- a/functions/_PDCLIB/print.c +++ b/functions/_PDCLIB/print.c @@ -140,6 +140,9 @@ static void int2base( uintmax_t value, struct _PDCLIB_status_t * status ) if ( outend[-written] != '0' ) outend[-++written] = '0'; break; case 16: + // No prefix if zero + if ( value == 0 ) break; + written += padding < 2 ? 2 - padding : 0; outend[-written ] = '0'; outend[-written + 1] = (status->flags & E_lower) ? 'x' : 'X'; -- 2.40.0