2024-03-25 13:25 ftp://ftp.de.debian.org/debian/pool/main/r/rcs-blame/rcs-blame_1.3.1.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: fd7bd50 (2024-03-25 07:57:46 +0100) count: 180 180 elapsed-time: 1.8 2.2 head-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 1.06046s (avg. 1.06046s - 1 result(s)) valueFlowCondition(SymbolicConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.348332s (avg. 0.116111s - 3 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.314472s (avg. 0.104824s - 3 result(s)) valueFlowAfterAssign(tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.191848s (avg. 0.0639493s - 3 result(s)) valueFlowUninit(tokenlist, errorLogger, settings): 0.108819s (avg. 0.036273s - 3 result(s)) Overall time: 1.09483s old-timing-info: Tokenizer::simplifyTokens1::ValueFlow: 0.997352s (avg. 0.997352s - 1 result(s)) valueFlowCondition(SymbolicConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.726329s (avg. 0.363165s - 2 result(s)) valueFlowCondition(SimpleConditionHandler{}, tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.182014s (avg. 0.091007s - 2 result(s)) valueFlowSymbolic(tokenlist, symboldatabase, settings): 0.048005s (avg. 0.048005s - 1 result(s)) valueFlowAfterAssign(tokenlist, symboldatabase, errorLogger, settings, skippedFunctions): 0.023372s (avg. 0.011686s - 2 result(s)) Overall time: 1.01094s head results: blame-1.3.1/lib/alloca.c:99:16: style: Variable 'addr' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/alloca.c:133:8: style: union member 'hdr::align' is never used. [unusedStructMember] blame-1.3.1/lib/ansi2knr.c:642:13: style: Local variable 'level' shadows outer variable [shadowVariable] blame-1.3.1/lib/ansi2knr.c:590:11: note: Shadowed declaration blame-1.3.1/lib/ansi2knr.c:642:13: note: Shadow variable blame-1.3.1/lib/ansi2knr.c:235:8: style: Variable 'filename' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:236:8: style: Variable 'program_name' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:237:8: style: Variable 'output_name' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:242:8: style: Variable 'usage' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:394:11: style: Parameter 'limit' can be declared as pointer to const [constParameterPointer] blame-1.3.1/lib/ansi2knr.c:452:11: style: Parameter 'end' can be declared as pointer to const [constParameterPointer] blame-1.3.1/lib/ansi2knr.c:477:8: style: Variable 'bend' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:512:9: style: Variable 'kp' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/ansi2knr.c:522:15: style: Variable 'id' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/argp-fmtstream.c:58:30: style:inconclusive: Function 'argp_make_fmtstream' argument 1 names different: declaration '__stream' definition 'stream'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:122:52: note: Function 'argp_make_fmtstream' argument 1 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-fmtstream.c:58:30: note: Function 'argp_make_fmtstream' argument 1 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-fmtstream.c:59:17: style:inconclusive: Function 'argp_make_fmtstream' argument 2 names different: declaration '__lmargin' definition 'lmargin'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:123:18: note: Function 'argp_make_fmtstream' argument 2 names different: declaration '__lmargin' definition 'lmargin'. blame-1.3.1/lib/argp-fmtstream.c:59:17: note: Function 'argp_make_fmtstream' argument 2 names different: declaration '__lmargin' definition 'lmargin'. blame-1.3.1/lib/argp-fmtstream.c:59:33: style:inconclusive: Function 'argp_make_fmtstream' argument 3 names different: declaration '__rmargin' definition 'rmargin'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:124:18: note: Function 'argp_make_fmtstream' argument 3 names different: declaration '__rmargin' definition 'rmargin'. blame-1.3.1/lib/argp-fmtstream.c:59:33: note: Function 'argp_make_fmtstream' argument 3 names different: declaration '__rmargin' definition 'rmargin'. blame-1.3.1/lib/argp-fmtstream.c:59:50: style:inconclusive: Function 'argp_make_fmtstream' argument 4 names different: declaration '__wmargin' definition 'wmargin'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:125:19: note: Function 'argp_make_fmtstream' argument 4 names different: declaration '__wmargin' definition 'wmargin'. blame-1.3.1/lib/argp-fmtstream.c:59:50: note: Function 'argp_make_fmtstream' argument 4 names different: declaration '__wmargin' definition 'wmargin'. blame-1.3.1/lib/argp-fmtstream.c:98:41: style:inconclusive: Function 'argp_fmtstream_free' argument 1 names different: declaration '__fs' definition 'fs'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:129:51: note: Function 'argp_fmtstream_free' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:98:41: note: Function 'argp_fmtstream_free' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:122:43: style:inconclusive: Function '_argp_fmtstream_update' argument 1 names different: declaration '__fs' definition 'fs'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:180:54: note: Function '_argp_fmtstream_update' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:122:43: note: Function '_argp_fmtstream_update' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:351:49: style:inconclusive: Function '_argp_fmtstream_ensure' argument 1 names different: declaration '__fs' definition 'fs'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:182:53: note: Function '_argp_fmtstream_ensure' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:351:49: note: Function '_argp_fmtstream_ensure' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:351:60: style:inconclusive: Function '_argp_fmtstream_ensure' argument 2 names different: declaration '__amount' definition 'amount'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:182:66: note: Function '_argp_fmtstream_ensure' argument 2 names different: declaration '__amount' definition 'amount'. blame-1.3.1/lib/argp-fmtstream.c:351:60: note: Function '_argp_fmtstream_ensure' argument 2 names different: declaration '__amount' definition 'amount'. blame-1.3.1/lib/argp-fmtstream.c:402:49: style:inconclusive: Function 'argp_fmtstream_printf' argument 1 names different: declaration '__fs' definition 'fs'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:134:56: note: Function 'argp_fmtstream_printf' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:402:49: note: Function 'argp_fmtstream_printf' argument 1 names different: declaration '__fs' definition 'fs'. blame-1.3.1/lib/argp-fmtstream.c:402:65: style:inconclusive: Function 'argp_fmtstream_printf' argument 2 names different: declaration '__fmt' definition 'fmt'. [funcArgNamesDifferent] blame-1.3.1/lib/argp-fmtstream.h:135:23: note: Function 'argp_fmtstream_printf' argument 2 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/argp-fmtstream.c:402:65: note: Function 'argp_fmtstream_printf' argument 2 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/basename.c:118:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] blame-1.3.1/lib/basename.c:33:29: style:inconclusive: Function 'last_component' argument 1 names different: declaration 'file' definition 'name'. [funcArgNamesDifferent] blame-1.3.1/lib/dirname.h:66:35: note: Function 'last_component' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/basename.c:33:29: note: Function 'last_component' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/basename.c:75:24: style:inconclusive: Function 'base_name' argument 1 names different: declaration 'file' definition 'name'. [funcArgNamesDifferent] blame-1.3.1/lib/dirname.h:62:30: note: Function 'base_name' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/basename.c:75:24: note: Function 'base_name' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/basename.c:112:23: style:inconclusive: Function 'base_len' argument 1 names different: declaration 'file' definition 'name'. [funcArgNamesDifferent] blame-1.3.1/lib/dirname.h:64:30: note: Function 'base_len' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/basename.c:112:23: note: Function 'base_len' argument 1 names different: declaration 'file' definition 'name'. blame-1.3.1/lib/dirname.c:39:35: style: Condition 'prefix_length!=0' is always false [knownConditionTrueFalse] blame-1.3.1/lib/dirname.c:35:26: note: Assignment 'prefix_length=0', assigned value is 0 blame-1.3.1/lib/dirname.c:39:35: note: Condition 'prefix_length!=0' is always false blame-1.3.1/lib/error.c:227:12: style:inconclusive: Function 'error' argument 1 names different: declaration '__status' definition 'status'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:43:24: note: Function 'error' argument 1 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/error.c:227:12: note: Function 'error' argument 1 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/error.c:227:24: style:inconclusive: Function 'error' argument 2 names different: declaration '__errnum' definition 'errnum'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:43:38: note: Function 'error' argument 2 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/error.c:227:24: note: Function 'error' argument 2 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/error.c:227:44: style:inconclusive: Function 'error' argument 3 names different: declaration '__format' definition 'message'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:43:60: note: Function 'error' argument 3 names different: declaration '__format' definition 'message'. blame-1.3.1/lib/error.c:227:44: note: Function 'error' argument 3 names different: declaration '__format' definition 'message'. blame-1.3.1/lib/error.c:270:20: style:inconclusive: Function 'error_at_line' argument 1 names different: declaration '__status' definition 'status'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:46:32: note: Function 'error_at_line' argument 1 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/error.c:270:20: note: Function 'error_at_line' argument 1 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/error.c:270:32: style:inconclusive: Function 'error_at_line' argument 2 names different: declaration '__errnum' definition 'errnum'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:46:46: note: Function 'error_at_line' argument 2 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/error.c:270:32: note: Function 'error_at_line' argument 2 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/error.c:270:52: style:inconclusive: Function 'error_at_line' argument 3 names different: declaration '__fname' definition 'file_name'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:46:68: note: Function 'error_at_line' argument 3 names different: declaration '__fname' definition 'file_name'. blame-1.3.1/lib/error.c:270:52: note: Function 'error_at_line' argument 3 names different: declaration '__fname' definition 'file_name'. blame-1.3.1/lib/error.c:271:22: style:inconclusive: Function 'error_at_line' argument 4 names different: declaration '__lineno' definition 'line_number'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:47:20: note: Function 'error_at_line' argument 4 names different: declaration '__lineno' definition 'line_number'. blame-1.3.1/lib/error.c:271:22: note: Function 'error_at_line' argument 4 names different: declaration '__lineno' definition 'line_number'. blame-1.3.1/lib/error.c:271:47: style:inconclusive: Function 'error_at_line' argument 5 names different: declaration '__format' definition 'message'. [funcArgNamesDifferent] blame-1.3.1/lib/error.h:47:42: note: Function 'error_at_line' argument 5 names different: declaration '__format' definition 'message'. blame-1.3.1/lib/error.c:271:47: note: Function 'error_at_line' argument 5 names different: declaration '__format' definition 'message'. blame-1.3.1/lib/error.c:263:1: error: va_list 'args' was opened but not closed by va_end(). [va_end_missing] blame-1.3.1/lib/filenamecat.c:43:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] blame-1.3.1/lib/filenamecat.c:63:48: style:inconclusive: Function 'file_name_concat' argument 2 names different: declaration 'base' definition 'abase'. [funcArgNamesDifferent] blame-1.3.1/lib/filenamecat.h:21:54: note: Function 'file_name_concat' argument 2 names different: declaration 'base' definition 'abase'. blame-1.3.1/lib/filenamecat.c:63:48: note: Function 'file_name_concat' argument 2 names different: declaration 'base' definition 'abase'. blame-1.3.1/lib/getdelim.c:52:59: style:inconclusive: Function 'getdelim' argument 4 names different: declaration 'stream' definition 'fp'. [funcArgNamesDifferent] blame-1.3.1/lib/getdelim.h:27:67: note: Function 'getdelim' argument 4 names different: declaration 'stream' definition 'fp'. blame-1.3.1/lib/getdelim.c:52:59: note: Function 'getdelim' argument 4 names different: declaration 'stream' definition 'fp'. blame-1.3.1/lib/argp-parse.c:897:34: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] blame-1.3.1/lib/argp-parse.c:898:31: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] blame-1.3.1/lib/argp-parse.c:870:34: style:inconclusive: Function 'argp_parse' argument 1 names different: declaration '__argp' definition 'argp'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:415:58: note: Function 'argp_parse' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-parse.c:870:34: note: Function 'argp_parse' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-parse.c:870:72: style:inconclusive: Function 'argp_parse' argument 4 names different: declaration '__flags' definition 'flags'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:417:16: note: Function 'argp_parse' argument 4 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-parse.c:870:72: note: Function 'argp_parse' argument 4 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-parse.c:871:13: style:inconclusive: Function 'argp_parse' argument 5 names different: declaration '__arg_index' definition 'end_index'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:417:41: note: Function 'argp_parse' argument 5 names different: declaration '__arg_index' definition 'end_index'. blame-1.3.1/lib/argp-parse.c:871:13: note: Function 'argp_parse' argument 5 names different: declaration '__arg_index' definition 'end_index'. blame-1.3.1/lib/argp-parse.c:871:30: style:inconclusive: Function 'argp_parse' argument 6 names different: declaration '__input' definition 'input'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:418:24: note: Function 'argp_parse' argument 6 names different: declaration '__input' definition 'input'. blame-1.3.1/lib/argp-parse.c:871:30: note: Function 'argp_parse' argument 6 names different: declaration '__input' definition 'input'. blame-1.3.1/lib/argp-parse.c:937:34: style:inconclusive: Function '_argp_input' argument 1 names different: declaration '__argp' definition 'argp'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:564:57: note: Function '_argp_input' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-parse.c:937:34: note: Function '_argp_input' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-parse.c:937:65: style:inconclusive: Function '_argp_input' argument 2 names different: declaration '__state' definition 'state'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:565:42: note: Function '_argp_input' argument 2 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-parse.c:937:65: note: Function '_argp_input' argument 2 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-parse.c:730:13: style: Variable 'short_index' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/getcwd.c:241:8: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] blame-1.3.1/lib/getcwd.c:254:12: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] blame-1.3.1/lib/getcwd.c:188:22: style: Variable 'd' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/getopt1.c:49:21: style:inconclusive: Function '_getopt_long_r' argument 1 names different: declaration '___argc' definition 'argc'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:120:32: note: Function '_getopt_long_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt1.c:49:21: note: Function '_getopt_long_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt1.c:49:34: style:inconclusive: Function '_getopt_long_r' argument 2 names different: declaration '___argv' definition 'argv'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:120:48: note: Function '_getopt_long_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt1.c:49:34: note: Function '_getopt_long_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt1.c:49:52: style:inconclusive: Function '_getopt_long_r' argument 3 names different: declaration '__shortopts' definition 'options'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:121:19: note: Function '_getopt_long_r' argument 3 names different: declaration '__shortopts' definition 'options'. blame-1.3.1/lib/getopt1.c:49:52: note: Function '_getopt_long_r' argument 3 names different: declaration '__shortopts' definition 'options'. blame-1.3.1/lib/getopt1.c:50:24: style:inconclusive: Function '_getopt_long_r' argument 4 names different: declaration '__longopts' definition 'long_options'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:122:28: note: Function '_getopt_long_r' argument 4 names different: declaration '__longopts' definition 'long_options'. blame-1.3.1/lib/getopt1.c:50:24: note: Function '_getopt_long_r' argument 4 names different: declaration '__longopts' definition 'long_options'. blame-1.3.1/lib/getopt1.c:50:43: style:inconclusive: Function '_getopt_long_r' argument 5 names different: declaration '__longind' definition 'opt_index'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:122:45: note: Function '_getopt_long_r' argument 5 names different: declaration '__longind' definition 'opt_index'. blame-1.3.1/lib/getopt1.c:50:43: note: Function '_getopt_long_r' argument 5 names different: declaration '__longind' definition 'opt_index'. blame-1.3.1/lib/getopt1.c:51:24: style:inconclusive: Function '_getopt_long_r' argument 6 names different: declaration '__data' definition 'd'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:123:28: note: Function '_getopt_long_r' argument 6 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/getopt1.c:51:24: note: Function '_getopt_long_r' argument 6 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/getopt1.c:72:26: style:inconclusive: Function '_getopt_long_only_r' argument 1 names different: declaration '___argc' definition 'argc'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:125:37: note: Function '_getopt_long_only_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt1.c:72:26: note: Function '_getopt_long_only_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt1.c:72:39: style:inconclusive: Function '_getopt_long_only_r' argument 2 names different: declaration '___argv' definition 'argv'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:125:53: note: Function '_getopt_long_only_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt1.c:72:39: note: Function '_getopt_long_only_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt1.c:72:57: style:inconclusive: Function '_getopt_long_only_r' argument 3 names different: declaration '__shortopts' definition 'options'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:126:17: note: Function '_getopt_long_only_r' argument 3 names different: declaration '__shortopts' definition 'options'. blame-1.3.1/lib/getopt1.c:72:57: note: Function '_getopt_long_only_r' argument 3 names different: declaration '__shortopts' definition 'options'. blame-1.3.1/lib/getopt1.c:73:29: style:inconclusive: Function '_getopt_long_only_r' argument 4 names different: declaration '__longopts' definition 'long_options'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:127:26: note: Function '_getopt_long_only_r' argument 4 names different: declaration '__longopts' definition 'long_options'. blame-1.3.1/lib/getopt1.c:73:29: note: Function '_getopt_long_only_r' argument 4 names different: declaration '__longopts' definition 'long_options'. blame-1.3.1/lib/getopt1.c:73:48: style:inconclusive: Function '_getopt_long_only_r' argument 5 names different: declaration '__longind' definition 'opt_index'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:128:10: note: Function '_getopt_long_only_r' argument 5 names different: declaration '__longind' definition 'opt_index'. blame-1.3.1/lib/getopt1.c:73:48: note: Function '_getopt_long_only_r' argument 5 names different: declaration '__longind' definition 'opt_index'. blame-1.3.1/lib/getopt1.c:74:29: style:inconclusive: Function '_getopt_long_only_r' argument 6 names different: declaration '__data' definition 'd'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:129:26: note: Function '_getopt_long_only_r' argument 6 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/getopt1.c:74:29: note: Function '_getopt_long_only_r' argument 6 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/gettimeofday.c:59:19: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] blame-1.3.1/lib/gettimeofday.c:71:19: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/lib/gettimeofday.c:94:31: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] blame-1.3.1/lib/gettimeofday.c:116:31: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] blame-1.3.1/lib/obstack.c:179:35: error: Pointer addition with NULL pointer. [nullPointerArithmetic] blame-1.3.1/lib/obstack.c:227:35: error: Pointer addition with NULL pointer. [nullPointerArithmetic] blame-1.3.1/lib/obstack.c:270:5: error: Pointer addition with NULL pointer. [nullPointerArithmetic] blame-1.3.1/lib/obstack.c:297:7: error: Pointer addition with NULL pointer. [nullPointerArithmetic] blame-1.3.1/lib/obstack.c:345:33: style:inconclusive: Function 'obstack_free' argument 1 names different: declaration 'obstack' definition 'h'. [funcArgNamesDifferent] blame-1.3.1/lib/obstack.h:194:45: note: Function 'obstack_free' argument 1 names different: declaration 'obstack' definition 'h'. blame-1.3.1/lib/obstack.c:345:33: note: Function 'obstack_free' argument 1 names different: declaration 'obstack' definition 'h'. blame-1.3.1/lib/obstack.c:345:42: style:inconclusive: Function 'obstack_free' argument 2 names different: declaration 'block' definition 'obj'. [funcArgNamesDifferent] blame-1.3.1/lib/obstack.h:194:60: note: Function 'obstack_free' argument 2 names different: declaration 'block' definition 'obj'. blame-1.3.1/lib/obstack.c:345:42: note: Function 'obstack_free' argument 2 names different: declaration 'block' definition 'obj'. blame-1.3.1/lib/obstack.c:322:48: style: Parameter 'obj' can be declared as pointer to const [constParameterPointer] blame-1.3.1/lib/obstack.c:60:13: style: union member 'fooround::i' is never used. [unusedStructMember] blame-1.3.1/lib/obstack.c:61:15: style: union member 'fooround::d' is never used. [unusedStructMember] blame-1.3.1/lib/obstack.c:62:9: style: union member 'fooround::p' is never used. [unusedStructMember] blame-1.3.1/lib/obstack.c:66:8: style: struct member 'fooalign::c' is never used. [unusedStructMember] blame-1.3.1/lib/obstack.c:67:18: style: struct member 'fooalign::u' is never used. [unusedStructMember] blame-1.3.1/lib/argp-help.c:1332:33: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] blame-1.3.1/lib/argp-help.c:1610:30: warning: Obsolete function 'alloca' called. In C99 and later it is recommended to use a variable length array instead. [allocaCalled] blame-1.3.1/lib/argp-help.c:1910:9: style: Condition '!s' is always true [knownConditionTrueFalse] blame-1.3.1/lib/argp-help.c:1900:21: note: Assignment 's=NULL', assigned value is 0 blame-1.3.1/lib/argp-help.c:1910:9: note: Condition '!s' is always true blame-1.3.1/lib/argp-help.c:997:7: warning: Possible null pointer dereference: argp [nullPointer] blame-1.3.1/lib/argp-help.c:1233:16: note: Calling function 'filter_doc', 3rd argument 'state?state->root_argp:0' value is 0 blame-1.3.1/lib/argp-help.c:997:7: note: Null pointer dereference blame-1.3.1/lib/argp-help.c:1710:38: style:inconclusive: Function 'argp_help' argument 1 names different: declaration '__argp' definition 'argp'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:498:54: note: Function 'argp_help' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-help.c:1710:38: note: Function 'argp_help' argument 1 names different: declaration '__argp' definition 'argp'. blame-1.3.1/lib/argp-help.c:1710:50: style:inconclusive: Function 'argp_help' argument 2 names different: declaration '__stream' definition 'stream'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:499:27: note: Function 'argp_help' argument 2 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-help.c:1710:50: note: Function 'argp_help' argument 2 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-help.c:1711:14: style:inconclusive: Function 'argp_help' argument 3 names different: declaration '__flags' definition 'flags'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:500:19: note: Function 'argp_help' argument 3 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-help.c:1711:14: note: Function 'argp_help' argument 3 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-help.c:1711:27: style:inconclusive: Function 'argp_help' argument 4 names different: declaration '__name' definition 'name'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:500:45: note: Function 'argp_help' argument 4 names different: declaration '__name' definition 'name'. blame-1.3.1/lib/argp-help.c:1711:27: note: Function 'argp_help' argument 4 names different: declaration '__name' definition 'name'. blame-1.3.1/lib/argp-help.c:1743:45: style:inconclusive: Function 'argp_state_help' argument 1 names different: declaration '__state' definition 'state'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:515:66: note: Function 'argp_state_help' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1743:45: note: Function 'argp_state_help' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1743:58: style:inconclusive: Function 'argp_state_help' argument 2 names different: declaration '__stream' definition 'stream'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:516:26: note: Function 'argp_state_help' argument 2 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-help.c:1743:58: note: Function 'argp_state_help' argument 2 names different: declaration '__stream' definition 'stream'. blame-1.3.1/lib/argp-help.c:1743:75: style:inconclusive: Function 'argp_state_help' argument 3 names different: declaration '__flags' definition 'flags'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:517:22: note: Function 'argp_state_help' argument 3 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-help.c:1743:75: note: Function 'argp_state_help' argument 3 names different: declaration '__flags' definition 'flags'. blame-1.3.1/lib/argp-help.c:1770:40: style:inconclusive: Function 'argp_error' argument 1 names different: declaration '__state' definition 'state'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:529:61: note: Function 'argp_error' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1770:40: note: Function 'argp_error' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1770:59: style:inconclusive: Function 'argp_error' argument 2 names different: declaration '__fmt' definition 'fmt'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:530:27: note: Function 'argp_error' argument 2 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/argp-help.c:1770:59: note: Function 'argp_error' argument 2 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/argp-help.c:1837:42: style:inconclusive: Function 'argp_failure' argument 1 names different: declaration '__state' definition 'state'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:544:63: note: Function 'argp_failure' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1837:42: note: Function 'argp_failure' argument 1 names different: declaration '__state' definition 'state'. blame-1.3.1/lib/argp-help.c:1837:53: style:inconclusive: Function 'argp_failure' argument 2 names different: declaration '__status' definition 'status'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:545:10: note: Function 'argp_failure' argument 2 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/argp-help.c:1837:53: note: Function 'argp_failure' argument 2 names different: declaration '__status' definition 'status'. blame-1.3.1/lib/argp-help.c:1837:65: style:inconclusive: Function 'argp_failure' argument 3 names different: declaration '__errnum' definition 'errnum'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:545:24: note: Function 'argp_failure' argument 3 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/argp-help.c:1837:65: note: Function 'argp_failure' argument 3 names different: declaration '__errnum' definition 'errnum'. blame-1.3.1/lib/argp-help.c:1838:15: style:inconclusive: Function 'argp_failure' argument 4 names different: declaration '__fmt' definition 'fmt'. [funcArgNamesDifferent] blame-1.3.1/lib/argp.h:546:29: note: Function 'argp_failure' argument 4 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/argp-help.c:1838:15: note: Function 'argp_failure' argument 4 names different: declaration '__fmt' definition 'fmt'. blame-1.3.1/lib/argp-help.c:179:20: style: Local variable 'arg' shadows outer function [shadowFunction] blame-1.3.1/lib/argp-help.c:945:1: note: Shadowed declaration blame-1.3.1/lib/argp-help.c:179:20: note: Shadow variable blame-1.3.1/lib/argp-help.c:1269:15: style: Local variable 'arg' shadows outer function [shadowFunction] blame-1.3.1/lib/argp-help.c:945:1: note: Shadowed declaration blame-1.3.1/lib/argp-help.c:1269:15: note: Shadow variable blame-1.3.1/lib/argp-help.c:1301:15: style: Local variable 'arg' shadows outer function [shadowFunction] blame-1.3.1/lib/argp-help.c:945:1: note: Shadowed declaration blame-1.3.1/lib/argp-help.c:1301:15: note: Shadow variable blame-1.3.1/lib/argp-help.c:341:38: style: Parameter 'end' can be declared as pointer to const [constParameterPointer] blame-1.3.1/lib/argp-help.c:1695:16: style: Variable 'anything' is assigned a value that is never used. [unreadVariable] blame-1.3.1/lib/argp-help.c:1891:13: style: Unused variable: buf [unusedVariable] blame-1.3.1/lib/getopt.c:352:25: style:inconclusive: Function '_getopt_internal_r' argument 1 names different: declaration '___argc' definition 'argc'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:114:36: note: Function '_getopt_internal_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt.c:352:25: note: Function '_getopt_internal_r' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt.c:352:38: style:inconclusive: Function '_getopt_internal_r' argument 2 names different: declaration '___argv' definition 'argv'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:114:52: note: Function '_getopt_internal_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt.c:352:38: note: Function '_getopt_internal_r' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt.c:352:56: style:inconclusive: Function '_getopt_internal_r' argument 3 names different: declaration '__shortopts' definition 'optstring'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:115:23: note: Function '_getopt_internal_r' argument 3 names different: declaration '__shortopts' definition 'optstring'. blame-1.3.1/lib/getopt.c:352:56: note: Function '_getopt_internal_r' argument 3 names different: declaration '__shortopts' definition 'optstring'. blame-1.3.1/lib/getopt.c:353:28: style:inconclusive: Function '_getopt_internal_r' argument 4 names different: declaration '__longopts' definition 'longopts'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:116:32: note: Function '_getopt_internal_r' argument 4 names different: declaration '__longopts' definition 'longopts'. blame-1.3.1/lib/getopt.c:353:28: note: Function '_getopt_internal_r' argument 4 names different: declaration '__longopts' definition 'longopts'. blame-1.3.1/lib/getopt.c:353:43: style:inconclusive: Function '_getopt_internal_r' argument 5 names different: declaration '__longind' definition 'longind'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:116:49: note: Function '_getopt_internal_r' argument 5 names different: declaration '__longind' definition 'longind'. blame-1.3.1/lib/getopt.c:353:43: note: Function '_getopt_internal_r' argument 5 names different: declaration '__longind' definition 'longind'. blame-1.3.1/lib/getopt.c:354:11: style:inconclusive: Function '_getopt_internal_r' argument 6 names different: declaration '__long_only' definition 'long_only'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:117:15: note: Function '_getopt_internal_r' argument 6 names different: declaration '__long_only' definition 'long_only'. blame-1.3.1/lib/getopt.c:354:11: note: Function '_getopt_internal_r' argument 6 names different: declaration '__long_only' definition 'long_only'. blame-1.3.1/lib/getopt.c:354:26: style:inconclusive: Function '_getopt_internal_r' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:117:32: note: Function '_getopt_internal_r' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. blame-1.3.1/lib/getopt.c:354:26: note: Function '_getopt_internal_r' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. blame-1.3.1/lib/getopt.c:354:64: style:inconclusive: Function '_getopt_internal_r' argument 8 names different: declaration '__data' definition 'd'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:118:32: note: Function '_getopt_internal_r' argument 8 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/getopt.c:354:64: note: Function '_getopt_internal_r' argument 8 names different: declaration '__data' definition 'd'. blame-1.3.1/lib/getopt.c:1088:23: style:inconclusive: Function '_getopt_internal' argument 1 names different: declaration '___argc' definition 'argc'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:23:34: note: Function '_getopt_internal' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt.c:1088:23: note: Function '_getopt_internal' argument 1 names different: declaration '___argc' definition 'argc'. blame-1.3.1/lib/getopt.c:1088:36: style:inconclusive: Function '_getopt_internal' argument 2 names different: declaration '___argv' definition 'argv'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:23:50: note: Function '_getopt_internal' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt.c:1088:36: note: Function '_getopt_internal' argument 2 names different: declaration '___argv' definition 'argv'. blame-1.3.1/lib/getopt.c:1088:54: style:inconclusive: Function '_getopt_internal' argument 3 names different: declaration '__shortopts' definition 'optstring'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:24:21: note: Function '_getopt_internal' argument 3 names different: declaration '__shortopts' definition 'optstring'. blame-1.3.1/lib/getopt.c:1088:54: note: Function '_getopt_internal' argument 3 names different: declaration '__shortopts' definition 'optstring'. blame-1.3.1/lib/getopt.c:1089:26: style:inconclusive: Function '_getopt_internal' argument 4 names different: declaration '__longopts' definition 'longopts'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:25:37: note: Function '_getopt_internal' argument 4 names different: declaration '__longopts' definition 'longopts'. blame-1.3.1/lib/getopt.c:1089:26: note: Function '_getopt_internal' argument 4 names different: declaration '__longopts' definition 'longopts'. blame-1.3.1/lib/getopt.c:1089:41: style:inconclusive: Function '_getopt_internal' argument 5 names different: declaration '__longind' definition 'longind'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:25:54: note: Function '_getopt_internal' argument 5 names different: declaration '__longind' definition 'longind'. blame-1.3.1/lib/getopt.c:1089:41: note: Function '_getopt_internal' argument 5 names different: declaration '__longind' definition 'longind'. blame-1.3.1/lib/getopt.c:1090:9: style:inconclusive: Function '_getopt_internal' argument 6 names different: declaration '__long_only' definition 'long_only'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:26:13: note: Function '_getopt_internal' argument 6 names different: declaration '__long_only' definition 'long_only'. blame-1.3.1/lib/getopt.c:1090:9: note: Function '_getopt_internal' argument 6 names different: declaration '__long_only' definition 'long_only'. blame-1.3.1/lib/getopt.c:1090:24: style:inconclusive: Function '_getopt_internal' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. [funcArgNamesDifferent] blame-1.3.1/lib/getopt_int.h:26:30: note: Function '_getopt_internal' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. blame-1.3.1/lib/getopt.c:1090:24: note: Function '_getopt_internal' argument 7 names different: declaration '__posixly_correct' definition 'posixly_correct'. blame-1.3.1/lib/getopt.c:745:11: style: Variable 'temp' can be declared as pointer to const [constVariablePointer] blame-1.3.1/lib/strndup.c:29:22: style:inconclusive: Function 'rpl_strndup' argument 1 names different: declaration 'string' definition 's'. [funcArgNamesDifferent] blame-1.3.1/lib/strndup.h:30:35: note: Function 'rpl_strndup' argument 1 names different: declaration 'string' definition 's'. blame-1.3.1/lib/strndup.c:29:22: note: Function 'rpl_strndup' argument 1 names different: declaration 'string' definition 's'. blame-1.3.1/lib/strtol.c:354:13: warning: Either the condition 's==end' is redundant or there is possible null pointer dereference: s. [nullPointerRedundantCheck] blame-1.3.1/lib/strtol.c:347:11: note: Assignment 'end=NULL', assigned value is 0 blame-1.3.1/lib/strtol.c:356:13: note: Assuming that condition 's==end' is not redundant blame-1.3.1/lib/strtol.c:328:10: note: Assignment 'save=s', assigned value is 0 blame-1.3.1/lib/strtol.c:328:8: note: save is assigned 's' here. blame-1.3.1/lib/strtol.c:354:13: note: Null pointer dereference blame-1.3.1/lib/strftime.c:1334:6: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] blame-1.3.1/lib/strftime.c:1429:8: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] blame-1.3.1/lib/time_r.c:40:30: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/lib/time_r.c:46:30: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] blame-1.3.1/lib/xmalloc.c:48:17: style:inconclusive: Function 'xmalloc' argument 1 names different: declaration 's' definition 'n'. [funcArgNamesDifferent] blame-1.3.1/lib/xalloc.h:48:23: note: Function 'xmalloc' argument 1 names different: declaration 's' definition 'n'. blame-1.3.1/lib/xmalloc.c:48:17: note: Function 'xmalloc' argument 1 names different: declaration 's' definition 'n'. blame-1.3.1/lib/xmalloc.c:60:27: style:inconclusive: Function 'xrealloc' argument 2 names different: declaration 's' definition 'n'. [funcArgNamesDifferent] blame-1.3.1/lib/xalloc.h:51:33: note: Function 'xrealloc' argument 2 names different: declaration 's' definition 'n'. blame-1.3.1/lib/xmalloc.c:60:27: note: Function 'xrealloc' argument 2 names different: declaration 's' definition 'n'. blame-1.3.1/lib/xmalloc.c:120:22: style:inconclusive: Function 'xstrdup' argument 1 names different: declaration 'str' definition 'string'. [funcArgNamesDifferent] blame-1.3.1/lib/xalloc.h:54:28: note: Function 'xstrdup' argument 1 names different: declaration 'str' definition 'string'. blame-1.3.1/lib/xmalloc.c:120:22: note: Function 'xstrdup' argument 1 names different: declaration 'str' definition 'string'. blame-1.3.1/src/blame.c:47:44: error: There is an unknown macro here somewhere. Configuration is required. If PACKAGE_BUGREPORT is a macro then please configure it. [unknownMacro] blame-1.3.1/lib/mktime.c:487:4: style:inconclusive: Boolean expression '(t1>1' is used in bitwise operation. Did you mean '&&'? [bitwiseOnBoolean] blame-1.3.1/src/date.c:741:26: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/src/date.c:742:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] blame-1.3.1/src/date.c:1067:7: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/src/date.c:1089:45: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/src/date.c:1101:15: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/src/date.c:1129:43: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] blame-1.3.1/src/date.c:476:8: style: Condition '!am' is always true [knownConditionTrueFalse] blame-1.3.1/src/date.c:471:21: note: Assignment 'am=NULL', assigned value is 0 blame-1.3.1/src/date.c:476:8: note: Condition '!am' is always true blame-1.3.1/src/date.c:477:8: style: Condition '!pm' is always true [knownConditionTrueFalse] blame-1.3.1/src/date.c:472:21: note: Assignment 'pm=NULL', assigned value is 0 blame-1.3.1/src/date.c:477:8: note: Condition '!pm' is always true blame-1.3.1/src/date.c:1104:1: warning: Label 'format_time' is not used. Should this be a 'case' of the enclosing switch()? [unusedLabelSwitch] blame-1.3.1/src/date.c:1105:3: style: Local variable 'len' shadows outer variable [shadowVariable] blame-1.3.1/src/date.c:1081:9: note: Shadowed declaration blame-1.3.1/src/date.c:1105:3: note: Shadow variable blame-1.3.1/src/date.c:1032:9: style: Variable 'tz' can be declared as pointer to const [constVariablePointer] blame-1.3.1/src/date.c:1062:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] blame-1.3.1/src/date.c:1118:8: style: Variable 'len' is assigned a value that is never used. [unreadVariable] blame-1.3.1/src/date.c:1081:9: style: Unused variable: len [unusedVariable] blame-1.3.1/src/rcs.c:65:3: error: Resource leak: stream [resourceLeak] blame-1.3.1/src/rcs.c:74:3: error: Resource leak: stream [resourceLeak] blame-1.3.1/src/rcs.c:85:3: error: Resource leak: stream [resourceLeak] blame-1.3.1/src/rcs.c:517:14: style: Variable 'start' is reassigned a value before the old one has been used. [redundantAssignment] blame-1.3.1/src/rcs.c:514:9: note: start is assigned blame-1.3.1/src/rcs.c:517:14: note: start is overwritten blame-1.3.1/src/rcs.c:496:30: style: Variable 'end' can be declared as pointer to const [constVariablePointer] parser.c:1219:5: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] parser.c:2069:3: portability: Undefined behaviour, pointer arithmetic 'yyerror_range-1' is out of bounds. [pointerOutOfBounds] parser.c:1486:15: style: Condition 'yyn==0' is always true [knownConditionTrueFalse] parser.c:1483:16: note: Assignment 'yyn=yytable[yyn]', assigned value is greater than -1 parser.c:1484:11: note: Assuming that condition 'yyn<=0' is not redundant parser.c:1486:15: note: Condition 'yyn==0' is always true parser.y:324:40: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:325:23: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:338:93: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:346:26: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:347:40: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:358:53: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:365:63: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:378:63: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:390:55: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:398:34: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:399:23: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:410:34: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:411:23: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:432:40: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:433:23: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:449:33: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:450:22: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:457:43: style: Same expression on both sides of '-'. [duplicateExpression] parser.y:462:43: style: Same expression on both sides of '-'. [duplicateExpression] parser.c:1001:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] parser.c:1028:5: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] blame-1.3.1/src/keyword.c:396:20: portability: 'log_end' is of type 'const void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] blame-1.3.1/lib/vasnprintf.c:742:12: style: Variable 'arg' can be declared as pointer to const [constVariablePointer] diff: DONE