X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2F_PDCLIB_print.c;h=0351678d9939712e76d183bc2e7d3175f4f732fa;hb=258eaed23a998f3b9a9ffebdfec0a43a893bbed8;hp=e832782fd32c45c37fc2a2e1342cff3729608540;hpb=62ee8c813a22690a258c23c4c0befab9174ea9b1;p=pdclib diff --git a/functions/stdio/_PDCLIB_print.c b/functions/stdio/_PDCLIB_print.c index e832782..0351678 100644 --- a/functions/stdio/_PDCLIB_print.c +++ b/functions/stdio/_PDCLIB_print.c @@ -501,7 +501,8 @@ int _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ) /* TODO: Check for invalid flag combinations. */ if ( status->flags & E_unsigned ) { - uintmax_t value; + /* TODO: Marking the default case _PDCLIB_UNREACHABLE breaks %ju test driver? */ + uintmax_t value = 0; switch ( status->flags & E_TYPES ) { case E_char: @@ -536,7 +537,7 @@ int _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ) } else { - intmax_t value; + intmax_t value = 0; switch ( status->flags & E_TYPES ) { case E_char: @@ -566,6 +567,8 @@ int _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ) case E_intmax: value = va_arg( status->arg, intmax_t ); break; + default: + _PDCLIB_UNREACHABLE; } if (!int2base( value, status ) ) @@ -614,7 +617,7 @@ static int testprintf( char * buffer, const char * format, ... ) status.write = testcb; va_start( status.arg, format ); memset( buffer, '\0', 100 ); - if ( _PDCLIB_print( format, &status ) != strlen( format ) ) + if ( _PDCLIB_print( format, &status ) != (int)strlen( format ) ) { printf( "_PDCLIB_print() did not return end-of-specifier on '%s'.\n", format ); ++TEST_RESULTS;