From f5c73e1b9072b5b40d49c01462dd71541cdb6a65 Mon Sep 17 00:00:00 2001 From: Franck LeCodeur Date: Fri, 27 Aug 2021 20:32:28 +0200 Subject: [PATCH] jam: Fix build warning. Correct expression. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Adrien Destugues Reviewed-by: Jérôme Duval --- jam/expand.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/jam/expand.c b/jam/expand.c index faadf13f0f..b6ef564f48 100644 --- a/jam/expand.c +++ b/jam/expand.c @@ -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 )