2024-03-26 23:42 ftp://ftp.de.debian.org/debian/pool/main/e/expect/expect_5.45.4.orig.tar.gz cppcheck-options: --library=posix --library=gnu --showtime=top5 --check-library --inconclusive --enable=style,information --inline-suppr --disable=missingInclude --suppress=unmatchedSuppression --template=daca2 --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=valueFlowBailoutIncompleteVar -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.1.0-0.deb11.6-amd64-x86_64-with-glibc2.31 python: 3.9.2 client-version: 1.3.45 compiler: g++ (Debian 10.2.1-6) 10.2.1 20210110 cppcheck: head 2.13.0 head-info: 2e06f02 (2024-03-26 23:13:15 +0100) count: 145 136 elapsed-time: 7.3 3.5 head-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 6.61689s (avg. 6.61689s - 1 result(s)) valueFlowSymbolic(tokenlist, symboldatabase, errorLogger, settings): 3.33081s (avg. 3.33081s - 1 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 1.94757s (avg. 0.973785s - 2 result(s)) valueFlowAfterAssign(tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 1.29125s (avg. 0.645625s - 2 result(s)) valueFlowCondition(SymbolicConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.024714s (avg. 0.012357s - 2 result(s)) Overall time: 6.66401s old-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 3.02147s (avg. 3.02147s - 1 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 1.49874s (avg. 0.749369s - 2 result(s)) valueFlowAfterAssign(tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 1.17771s (avg. 0.588855s - 2 result(s)) valueFlowSymbolic(tokenlist, symboldatabase, settings): 0.315807s (avg. 0.315807s - 1 result(s)) valueFlowCondition(SymbolicConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.012795s (avg. 0.0063975s - 2 result(s)) Overall time: 3.07129s head results: expect5.45.4/example/chesslib++.c:59:1: portability: Omitted return type of function 'main' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:6:1: portability: Omitted return type of function 'timedout' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:14:1: portability: Omitted return type of function 'read_first_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:27:1: portability: Omitted return type of function 'read_counter_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:38:1: portability: Omitted return type of function 'read_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:49:1: portability: Omitted return type of function 'send_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:55:1: portability: Omitted return type of function 'main' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib++.c:26:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib++.c:39:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib++.c:50:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib2.c:6:1: portability: Omitted return type of function 'timedout' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib2.c:14:1: portability: Omitted return type of function 'read_first_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib2.c:27:1: portability: Omitted return type of function 'read_counter_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib2.c:38:1: portability: Omitted return type of function 'read_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib2.c:49:1: portability: Omitted return type of function 'send_move' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib2.c:55:1: portability: Omitted return type of function 'main' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/example/chesslib.c:22:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib.c:35:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib.c:46:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib2.c:22:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib2.c:35:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib2.c:46:2: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] expect5.45.4/example/chesslib2.c:57:6: style: Unused variable: ec [unusedVariable] expect5.45.4/example/unbuffer.c:6:1: portability: Omitted return type of function 'main' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/tcldbg.h:17:1: debug: Failed to parse 'typedef int ( Dbg_InterProc ) _ANSI_ARGS_ ( ( Tcl_Interp * interp , ClientData data ) ) ;'. The checking continues anyway. [simplifyTypedef] expect5.45.4/tcldbg.h:18:1: debug: Failed to parse 'typedef int ( Dbg_IgnoreFuncsProc ) _ANSI_ARGS_ ( ( Tcl_Interp * interp , char * funcname ) ) ;'. The checking continues anyway. [simplifyTypedef] expect5.45.4/tcldbg.h:21:1: debug: Failed to parse 'typedef void ( Dbg_OutputProc ) _ANSI_ARGS_ ( ( Tcl_Interp * interp , char * output , ClientData data ) ) ;'. The checking continues anyway. [simplifyTypedef] expect5.45.4/exp_int.h:25:47: error: There is an unknown macro here somewhere. Configuration is required. If _ANSI_ARGS_ is a macro then please configure it. [unknownMacro] expect5.45.4/Dbg.c:312:17: warning: Either the condition 'dest' is redundant or there is possible null pointer dereference: buf_basic. [nullPointerRedundantCheck] expect5.45.4/Dbg.c:321:6: note: Assuming that condition 'dest' is not redundant expect5.45.4/Dbg.c:313:25: note: Assignment to 'dest=buf_basic' expect5.45.4/Dbg.c:312:17: note: Null pointer dereference expect5.45.4/Dbg.c:362:14: warning: Either the condition 'buf' is redundant or there is possible null pointer dereference: buf_basic. [nullPointerRedundantCheck] expect5.45.4/Dbg.c:371:7: note: Assuming that condition 'buf' is not redundant expect5.45.4/Dbg.c:363:21: note: Assignment to 'buf=buf_basic' expect5.45.4/Dbg.c:362:14: note: Null pointer dereference expect5.45.4/Dbg.c:1142:15: warning: Either the condition 'buf' is redundant or there is possible null pointer dereference: buf_basic. [nullPointerRedundantCheck] expect5.45.4/Dbg.c:1146:8: note: Assuming that condition 'buf' is not redundant expect5.45.4/Dbg.c:1143:22: note: Assignment to 'buf=buf_basic' expect5.45.4/Dbg.c:1142:15: note: Null pointer dereference expect5.45.4/Dbg.c:1340:6: style: Variable 'rc' is reassigned a value before the old one has been used. [redundantAssignment] expect5.45.4/Dbg.c:1339:6: note: rc is assigned expect5.45.4/Dbg.c:1340:6: note: rc is overwritten expect5.45.4/exp_poll.c:192:15: style: Parameter 'timePtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_poll.c:390:23: style: Variable 'fileEvPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:453:15: style: Parameter 'timePtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_poll.c:458:21: style: Variable 'timeoutPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:481:38: warning: Uninitialized variable: timeout [uninitvar] expect5.45.4/exp_poll.c:472:9: note: Assuming condition is false expect5.45.4/exp_poll.c:481:38: note: Uninitialized variable: timeout expect5.45.4/Dbg.c:240:13: style: Variable 'iPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/Dbg.c:507:12: style: Parameter 'goal' can be declared as pointer to const [constParameterPointer] expect5.45.4/Dbg.c:508:9: style: Parameter 'iptr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_poll.c:230:9: style: Unused variable: index [unusedVariable] expect5.45.4/Dbg.c:510:13: style: Variable 'cf' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:230:16: style: Unused variable: bit [unusedVariable] expect5.45.4/Dbg.c:763:11: style: Variable 'frame' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:301:9: style: Unused variable: index [unusedVariable] expect5.45.4/Dbg.c:781:13: style: Parameter 'interp' can be declared as pointer to const. However it seems that 'cmdSimple' is a callback function, if 'interp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1240:9: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:781:13: note: Parameter 'interp' can be declared as pointer to const expect5.45.4/exp_poll.c:301:16: style: Unused variable: bit [unusedVariable] expect5.45.4/Dbg.c:783:21: style: Parameter 'objv' can be declared as const array. However it seems that 'cmdSimple' is a callback function, if 'objv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1240:9: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:783:21: note: Parameter 'objv' can be declared as const array expect5.45.4/exp_poll.c:301:21: style: Unused variable: mask [unusedVariable] expect5.45.4/Dbg.c:855:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:301:27: style: Unused variable: i [unusedVariable] expect5.45.4/Dbg.c:1134:8: style: Variable 'fmt' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_poll.c:460:9: style: Unused variable: bit [unusedVariable] expect5.45.4/Dbg.c:1176:13: style: Parameter 'interp' can be declared as pointer to const [constParameterPointer] expect5.45.4/Dbg.c:1203:13: style: Parameter 'interp' can be declared as pointer to const [constParameterPointer] expect5.45.4/Dbg.c:1253:19: style: Parameter 'interp' can be declared as pointer to const. However it seems that 'zero' is a callback function, if 'interp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1180:26: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:1253:19: note: Parameter 'interp' can be declared as pointer to const expect5.45.4/Dbg.c:1253:33: style: Parameter 'string' can be declared as pointer to const. However it seems that 'zero' is a callback function, if 'string' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1180:26: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:1253:33: note: Parameter 'string' can be declared as pointer to const expect5.45.4/Dbg.c:1137:47: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] expect5.45.4/Dbg.c:1138:15: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] expect5.45.4/Dbg.c:1139:30: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] expect5.45.4/Dbg.c:1151:20: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] expect5.45.4/Dbg.c:1154:2: error: va_list 'args' used before va_start() was called. [va_list_usedBeforeStarted] expect5.45.4/exp_simple.c:175:15: style: Parameter 'timePtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_tty_comm.c:28:17: style: Local variable 'exp_tty_original' shadows outer variable [shadowVariable] expect5.45.4/exp_tty_in.h:94:16: note: Shadowed declaration expect5.45.4/exp_tty_comm.c:28:17: note: Shadow variable expect5.45.4/exp_strf.c:173:15: style: Variable 'days_a' can be declared as const array [constVariable] expect5.45.4/exp_strf.c:177:15: style: Variable 'days_l' can be declared as const array [constVariable] expect5.45.4/exp_strf.c:181:15: style: Variable 'months_a' can be declared as const array [constVariable] expect5.45.4/exp_strf.c:185:15: style: Variable 'months_l' can be declared as const array [constVariable] expect5.45.4/exp_strf.c:190:15: style: Variable 'ampm' can be declared as const array [constVariable] expect5.45.4/exp_strf.c:598:18: style: Parameter 'timeptr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_win.c:90:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] expect5.45.4/exp_win.c:103:2: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] expect5.45.4/exp_win.c:154:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] expect5.45.4/exp_win.c:165:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] expect5.45.4/exp_win.c:109:7: style: Parameter 'rows' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_win.c:126:7: style: Parameter 'columns' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_win.c:170:7: style: Parameter 'rows' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_win.c:194:7: style: Parameter 'columns' can be declared as pointer to const [constParameterPointer] expect5.45.4/pty_sgttyb.c:50:7: style: Parameter 's' can be declared as pointer to const [constParameterPointer] expect5.45.4/pty_sgttyb.c:51:7: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] expect5.45.4/pty_termios.c:642:15: style: Local variable 'buf' shadows outer variable [shadowVariable] expect5.45.4/pty_termios.c:639:7: note: Shadowed declaration expect5.45.4/pty_termios.c:642:15: note: Shadow variable expect5.45.4/pty_termios.c:262:7: style: Parameter 's' can be declared as pointer to const [constParameterPointer] expect5.45.4/pty_termios.c:263:7: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] expect5.45.4/pty_termios.c:378:6: style: Variable 'slave' is assigned a value that is never used. [unreadVariable] expect5.45.4/pty_termios.c:379:6: style: Unused variable: num [unusedVariable] expect5.45.4/pty_termios.c:638:13: style: Unused variable: slave2 [unusedVariable] expect5.45.4/pty_termios.c:639:7: style: Unused variable: buf [unusedVariable] expect5.45.4/exp_tty_in.h:93:1: error: syntax error: / typedef [syntaxError] expect5.45.4/testsuite/exp_test.c:10:1: portability: Omitted return type of function 'main' defaults to int, this is not supported by ISO C99 and later standards. [returnImplicitInt] expect5.45.4/exp_clib.c:2866:2: warning: Return value of function freopen() is not used. [ignoredReturnValue] expect5.45.4/exp_clib.c:2867:2: warning: Return value of function freopen() is not used. [ignoredReturnValue] expect5.45.4/exp_clib.c:2868:2: warning: Return value of function freopen() is not used. [ignoredReturnValue] expect5.45.4/exp_clib.c:2534:4: style: Obsolescent function 'bcopy' called. It is recommended to use 'memcpy' or 'memmove' instead. [prohibitedbcopyCalled] expect5.45.4/exp_clib.c:2745:5: style: Variable 'fd' is reassigned a value before the old one has been used. [redundantAssignment] expect5.45.4/exp_clib.c:2718:5: note: fd is assigned expect5.45.4/exp_clib.c:2745:5: note: fd is overwritten expect5.45.4/exp_clib.c:818:7: style: Parameter 'val' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_clib.c:1033:18: style: Variable 'opnd' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_clib.c:1202:17: style: Variable 'opnd' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_clib.c:1476:12: style: Parameter 'str' can be declared as pointer to const. However it seems that 'expDiagLogU' is a callback function, if 'str' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/exp_clib.c:1853:20: note: You might need to cast the function pointer here expect5.45.4/exp_clib.c:1476:12: note: Parameter 'str' can be declared as pointer to const expect5.45.4/exp_clib.c:2239:8: style: Variable 'arg' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_clib.c:2903:11: style: Variable 'fmt' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_clib.c:2924:11: style: Variable 'fmt' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_clib.c:1836:6: style: Unused variable: ttyfd [unusedVariable] expect5.45.4/exp_clib.c:2241:6: style: Variable 'arg' is assigned a value that is never used. [unreadVariable] expect5.45.4/exp_clib.c:2856:6: style: Unused variable: ttyfd [unusedVariable] expect5.45.4/exp_command.c:862:12: warning: Either the condition 'testfd!=-1' is redundant or close() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] expect5.45.4/exp_command.c:864:17: note: Assuming that condition 'testfd!=-1' is not redundant expect5.45.4/exp_command.c:862:12: note: Invalid argument expect5.45.4/exp_command.c:257:2: style: Consider using memset instead of loop. [useStandardLibrary] expect5.45.4/exp_command.c:173:11: style: Variable 'fmt' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:287:20: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:404:25: style: Parameter 'esPtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:406:25: style: Variable 'tsdPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:412:23: style: Parameter 'esPtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:414:25: style: Variable 'tsdPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:420:25: style: Parameter 'esPtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:422:25: style: Variable 'tsdPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:430:25: style: Variable 'tsdPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:438:25: style: Variable 'tsdPtr' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:556:15: style: Parameter 'esPtr' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:557:11: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] expect5.45.4/exp_command.c:676:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1384:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1469:17: style: Variable 's' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1540:17: style: Variable 's' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1867:11: style: Variable 'p' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1927:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:1997:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:2189:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:2415:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:2490:9: style: Variable 'act' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:2596:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:2893:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:3227:11: style: Variable 'command' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:3234:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:3423:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] expect5.45.4/exp_command.c:914:34: warning: Uninitialized variable: rfd [uninitvar] expect5.45.4/exp_command.c:902:11: note: Assuming condition is false expect5.45.4/exp_command.c:914:34: note: Uninitialized variable: rfd expect5.45.4/exp_command.c:914:38: warning: Uninitialized variable: wfd [uninitvar] expect5.45.4/exp_command.c:908:11: note: Assuming condition is false expect5.45.4/exp_command.c:914:38: note: Uninitialized variable: wfd expect5.45.4/exp_command.c:2503:10: style: Variable 'objc' is assigned a value that is never used. [unreadVariable] expect5.45.4/retoglob.c:201:14: style: Variable 'strlen' is reassigned a value before the old one has been used. [redundantAssignment] expect5.45.4/retoglob.c:197:7: note: strlen is assigned expect5.45.4/retoglob.c:201:14: note: strlen is overwritten expect5.45.4/retoglob.c:425:2: style: Variable 'lastsz' is reassigned a value before the old one has been used. [redundantAssignment] expect5.45.4/retoglob.c:424:2: note: lastsz is assigned expect5.45.4/retoglob.c:425:2: note: lastsz is overwritten expect5.45.4/retoglob.c:439:7: style: Variable 'lastsz' is reassigned a value before the old one has been used. [redundantAssignment] expect5.45.4/retoglob.c:438:7: note: lastsz is assigned expect5.45.4/retoglob.c:439:7: note: lastsz is overwritten expect5.45.4/retoglob.c:572:19: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] expect5.45.4/retoglob.c:599:19: style: Parameter 'last' can be declared as pointer to const [constParameterPointer] expect5.45.4/retoglob.c:646:19: style: Parameter 'last' can be declared as pointer to const [constParameterPointer] expect5.45.4/retoglob.c:694:19: style: Parameter 'last' can be declared as pointer to const [constParameterPointer] expect5.45.4/retoglob.c:736:18: style: Parameter 'last' can be declared as pointer to const [constParameterPointer] expect5.45.4/retoglob.c:558:5: style: Variable 'lastsz' is assigned a value that is never used. [unreadVariable] diff: head expect5.45.4/Dbg.c:1176:13: style: Parameter 'interp' can be declared as pointer to const [constParameterPointer] head expect5.45.4/Dbg.c:1203:13: style: Parameter 'interp' can be declared as pointer to const [constParameterPointer] head expect5.45.4/Dbg.c:1253:19: style: Parameter 'interp' can be declared as pointer to const. However it seems that 'zero' is a callback function, if 'interp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1180:26: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:1253:19: note: Parameter 'interp' can be declared as pointer to const head expect5.45.4/Dbg.c:1253:33: style: Parameter 'string' can be declared as pointer to const. However it seems that 'zero' is a callback function, if 'string' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1180:26: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:1253:33: note: Parameter 'string' can be declared as pointer to const head expect5.45.4/Dbg.c:781:13: style: Parameter 'interp' can be declared as pointer to const. However it seems that 'cmdSimple' is a callback function, if 'interp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1240:9: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:781:13: note: Parameter 'interp' can be declared as pointer to const head expect5.45.4/Dbg.c:783:21: style: Parameter 'objv' can be declared as const array. However it seems that 'cmdSimple' is a callback function, if 'objv' is declared with const you might also need to cast function pointer(s). [constParameterCallback] expect5.45.4/Dbg.c:1240:9: note: You might need to cast the function pointer here expect5.45.4/Dbg.c:783:21: note: Parameter 'objv' can be declared as const array head expect5.45.4/exp_command.c:556:15: style: Parameter 'esPtr' can be declared as pointer to const [constParameterPointer] head expect5.45.4/exp_command.c:557:11: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] head expect5.45.4/exp_poll.c:192:15: style: Parameter 'timePtr' can be declared as pointer to const [constParameterPointer] DONE