X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2F_PDCLIB%2Fprint.c;h=dcdb7bd1d29fed34105e201ca26dd56d889c831b;hb=e6d28b5afddd8b3e3564af2264aa8b705e711b67;hp=7633b3fe478f2a300e5dba702d4a1267d8b88c82;hpb=d12625d1ed846095f7e268159f8a94f6ab5a18ff;p=pdclib diff --git a/functions/_PDCLIB/print.c b/functions/_PDCLIB/print.c index 7633b3f..dcdb7bd 100644 --- a/functions/_PDCLIB/print.c +++ b/functions/_PDCLIB/print.c @@ -53,7 +53,7 @@ do { \ int character = x; \ if ( status->i < status->n ) { \ if ( status->stream != NULL ) \ - putc( character, status->stream ); \ + putc_unlocked( character, status->stream ); \ else \ status->s[status->i] = character; \ } \ @@ -104,7 +104,7 @@ static void int2base( uintmax_t value, struct _PDCLIB_status_t * status ) const char * digits = (status->flags & E_lower) ? _PDCLIB_digits : _PDCLIB_Xdigits; uintmax_t remaining = value; - do { + if(status->prec != 0 || remaining != 0) do { uintmax_t digit = remaining % status->base; remaining /= status->base; @@ -312,6 +312,7 @@ const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status EOF (negative), there is no need for testing for negative here. */ status->prec = va_arg( status->arg, int ); + ++spec; } else {