]> pd.if.org Git - pdclib/blobdiff - functions/_PDCLIB/print.c
_PDCLIB_print: Change "written" unsigned -> int due to C promotion rules causing...
[pdclib] / functions / _PDCLIB / print.c
index d3968f57e977b845d274e313785ec6099aa9e41c..b58fdd91cb8c7376a082dfde3fd426c5d164c398 100644 (file)
@@ -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; \
     } \
@@ -97,7 +97,7 @@ static void int2base( uintmax_t value, struct _PDCLIB_status_t * status )
     size_t bufLen = (status->width > maxIntLen ? status->width : maxIntLen) + 2;
     char outbuf[bufLen];
     char * outend = outbuf + bufLen;
-    unsigned written = 0;
+    int written = 0;
 
     // Build up our output string - backwards
     {
@@ -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
         {