jam: Fix build warning. Correct expression.

Pointer to struct on stack was given instead of the calculated value.

Warning was:

Cc bin.linuxx86/expand.o
expand.c: In function ‘var_expand’:
expand.c:210:49: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘LIST *’ {aka ‘struct _list *’} [-Wformat=]
  210 |       printf("MAXSYM is too low! Need at least %d\n", l);
      |                                                ~^     ~
      |                                                 |     |
      |                                                 int   LIST * {aka struct _list *}

Change-Id: I65ab593287fc1b9aa2aba0056714726e29467012
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/4398
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This commit is contained in:
Franck LeCodeur 2021-08-27 20:32:28 +02:00 committed by Jérôme Duval
parent 1673cf9c0f
commit f5c73e1b90

View File

@ -206,10 +206,14 @@ var_expand(
/* Look for a : modifier in the variable name */
/* Must copy into varname so we can modify it */
if (strlen(vars->string) > MAXSYM) {
printf("MAXSYM is too low! Need at least %d\n", l);
exit(-1);
size_t varname_len = strlen(vars->string);
if( varname_len > MAXSYM )
{
printf( "MAXSYM is too low! Need at least %zu\n",
varname_len );
exit( -1 );
}
strcpy( varname, vars->string );
if( colon = strchr( varname, MAGIC_COLON ) )
@ -278,10 +282,12 @@ var_expand(
LIST *rem;
char *out1;
if (out - out_buf > MAXSYM) {
printf("MAXSYM is too low!\n");
exit(-1);
if( out - out_buf > MAXSYM )
{
printf( "MAXSYM is too low!\n" );
exit( -1 );
}
/* Handle end subscript (length actually) */
if( sub2 >= 0 && --sub2 < 0 )