patch 8.2.0106: printf formats are not exactly right
Problem: Printf formats are not exactly right. Solution: Adjust signed/unsigned conversions. (Frazer Clews, closes #5456)
This commit is contained in:
@ -184,7 +184,7 @@ int main( int argc, char *argv[] )
|
||||
case COMPILER_GCC:
|
||||
Severity = 'e';
|
||||
#ifdef GOTO_FROM_WHERE_INCLUDED
|
||||
rv = sscanf( Line, "In file included from %[^:]:%u:",
|
||||
rv = sscanf( Line, "In file included from %[^:]:%lu:",
|
||||
FileName, &Row );
|
||||
if ( rv == 2 )
|
||||
{
|
||||
@ -193,11 +193,11 @@ int main( int argc, char *argv[] )
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if ((rv = sscanf( Line, "%[^:]:%u: warning: %[^\n]",
|
||||
if ((rv = sscanf( Line, "%[^:]:%lu: warning: %[^\n]",
|
||||
FileName, &Row, Reason ))==3) {
|
||||
Severity = 'w';
|
||||
} else {
|
||||
rv = sscanf( Line, "%[^:]:%u: %[^\n]",
|
||||
rv = sscanf( Line, "%[^:]:%lu: %[^\n]",
|
||||
FileName, &Row, Reason );
|
||||
}
|
||||
ok = ( rv == 3 );
|
||||
@ -205,24 +205,24 @@ int main( int argc, char *argv[] )
|
||||
Col = (dec_col ? 1 : 0 );
|
||||
break;
|
||||
case COMPILER_AIX:
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %u.%u: %*s (%c) %[^\n]",
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %lu.%lu: %*s (%c) %[^\n]",
|
||||
FileName, &Row, &Col, &Severity, Reason );
|
||||
ok = ( rv == 5 );
|
||||
break;
|
||||
case COMPILER_HPUX:
|
||||
rv = sscanf( Line, "cc: \"%[^\"]\", line %u: %c%*[^:]: %[^\n]",
|
||||
rv = sscanf( Line, "cc: \"%[^\"]\", line %lu: %c%*[^:]: %[^\n]",
|
||||
FileName, &Row, &Severity, Reason );
|
||||
ok = ( rv == 4 );
|
||||
Col = (dec_col ? 1 : 0 );
|
||||
break;
|
||||
case COMPILER_SOLARIS:
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %u: warning: %[^\n]",
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %lu: warning: %[^\n]",
|
||||
FileName, &Row, Reason );
|
||||
Severity = 'w';
|
||||
ok = ( rv == 3 );
|
||||
if ( rv != 3 )
|
||||
{
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %u: %[^\n]",
|
||||
rv = sscanf( Line, "\"%[^\"]\", line %lu: %[^\n]",
|
||||
FileName, &Row, Reason );
|
||||
Severity = 'e';
|
||||
ok = ( rv == 3 );
|
||||
@ -230,18 +230,18 @@ int main( int argc, char *argv[] )
|
||||
Col = (dec_col ? 1 : 0 );
|
||||
break;
|
||||
case COMPILER_ATT:
|
||||
rv = sscanf( Line, "%c \"%[^\"]\",L%u/C%u%*[^:]:%[^\n]",
|
||||
rv = sscanf( Line, "%c \"%[^\"]\",L%lu/C%lu%*[^:]:%[^\n]",
|
||||
&Severity, FileName, &Row, &Col, Reason );
|
||||
ok = ( rv == 5 );
|
||||
|
||||
if (rv != 5)
|
||||
{ rv = sscanf( Line, "%c \"%[^\"]\",L%u/C%u: %[^\n]",
|
||||
{ rv = sscanf( Line, "%c \"%[^\"]\",L%lu/C%lu: %[^\n]",
|
||||
&Severity, FileName, &Row, &Col, Reason );
|
||||
ok = ( rv == 5 );
|
||||
}
|
||||
|
||||
if (rv != 5)
|
||||
{ rv = sscanf( Line, "%c \"%[^\"]\",L%u: %[^\n]",
|
||||
{ rv = sscanf( Line, "%c \"%[^\"]\",L%lu: %[^\n]",
|
||||
&Severity, FileName, &Row, Reason );
|
||||
ok = ( rv == 4 );
|
||||
Col = (dec_col ? 1 : 0 );
|
||||
@ -272,10 +272,10 @@ int main( int argc, char *argv[] )
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = sscanf( p+2, "%[^:]: %u: %[^\n]",
|
||||
rv = sscanf( p+2, "%[^:]: %lu: %[^\n]",
|
||||
FileName, &Row, Reason );
|
||||
if (rv != 3)
|
||||
rv = sscanf( p+2, "%[^,], line %u: %[^\n]",
|
||||
rv = sscanf( p+2, "%[^,], line %lu: %[^\n]",
|
||||
FileName, &Row, Reason );
|
||||
ok = ( rv == 3 );
|
||||
}
|
||||
@ -315,10 +315,10 @@ int main( int argc, char *argv[] )
|
||||
{
|
||||
for (p=Reason; (*p) && (isspace(*p)); p++);
|
||||
if ( BasePath[CWDlen] == 0 )
|
||||
printf( "%s:%u:%u:%c:%s\n", FileName, Row, Col, Severity, p );
|
||||
printf( "%s:%lu:%lu:%c:%s\n", FileName, Row, Col, Severity, p );
|
||||
else
|
||||
{
|
||||
printf( "%s/%s:%u:%u:%c:%s\n", &BasePath[CWDlen+1], FileName, Row, Col, Severity, p );
|
||||
printf( "%s/%s:%lu:%lu:%c:%s\n", &BasePath[CWDlen+1], FileName, Row, Col, Severity, p );
|
||||
}
|
||||
}
|
||||
if (!prefetch)
|
||||
|
||||
Reference in New Issue
Block a user