2024-03-27 09:07 ftp://ftp.de.debian.org/debian/pool/main/g/grun/grun_0.9.3+git20200303.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j1 platform: Linux-5.15.0-101-generic-x86_64-with-glibc2.35 python: 3.10.12 client-version: 1.3.55 compiler: g++ (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 cppcheck: head 2.13.0 head-info: 99853e4 (2024-03-27 05:16:23 +0100) count: 114 101 elapsed-time: 41.4 56.5 head-timing-info: old-timing-info: head results: grun-master/grun.c:230:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] grun-master/grun.c:471:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] grun-master/grun.c:568:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] grun-master/grun.c:781:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_End [valueFlowBailoutIncompleteVar] grun-master/grun.c:856:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] grun-master/grun.c:365:12: style: Obsolescent function 'rindex' called. It is recommended to use 'strrchr' instead. [prohibitedrindexCalled] grun-master/grun.c:465:11: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:482:12: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:498:11: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:514:12: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:540:9: style: Obsolescent function 'rindex' called. It is recommended to use 'strrchr' instead. [prohibitedrindexCalled] grun-master/grun.c:548:10: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:553:28: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:583:11: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:599:9: style: Obsolescent function 'rindex' called. It is recommended to use 'strrchr' instead. [prohibitedrindexCalled] grun-master/grun.c:611:10: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:629:11: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] grun-master/grun.c:842:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:843:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:908:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:919:13: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] grun-master/grun.c:958:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:964:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:975:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:985:2: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] grun-master/grun.c:370:9: style: Condition 'assoc' is always false [knownConditionTrueFalse] grun-master/grun.c:368:21: note: Calling function 'getAssoc' returns 0 grun-master/grun.c:368:21: note: Assignment 'assoc=getAssoc(split)', assigned value is 0 grun-master/grun.c:370:9: note: Condition 'assoc' is always false grun-master/grun.c:230:34: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] grun-master/grun.c:243:36: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation] grun-master/grun.c:254:15: style: Variable 'home_env' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:286:16: style: Variable 'home_env' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:349:15: style: Variable 'work' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:414:10: style: Variable 'work' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:445:9: style: Variable 'path' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:448:17: style: Variable 'file' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:533:17: style: Variable 'file' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:638:45: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gclick' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:958:93: note: You might need to cast the function pointer here grun-master/grun.c:638:45: note: Parameter 'event' can be declared as pointer to const grun-master/grun.c:792:23: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:23: note: Parameter 'widget' can be declared as pointer to const grun-master/grun.c:792:41: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:41: note: Parameter 'event' can be declared as pointer to const grun-master/grun.c:792:57: style: Parameter 'data' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:57: note: Parameter 'data' can be declared as pointer to const grun-master/grun.c:798:9: style: Variable 'cmd' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:817:8: style: Variable 'cmd' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:851:8: style: Variable 'home_env' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:851:27: style: Variable 'icmd' can be declared as pointer to const [constVariablePointer] grun-master/grun.c:424:9: style: Variable 'len' is assigned a value that is never used. [unreadVariable] grun-master/grun.c:474:11: style: Variable 'len' is assigned a value that is never used. [unreadVariable] grun-master/grun.c:571:10: style: Variable 'len' is assigned a value that is never used. [unreadVariable] grun-master/grun.c:715:10: style: Variable 'tmp' is allocated memory that is never used. [unusedAllocatedMemory] grun-master/intl/bindtextdom.c:206:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable domainname [valueFlowBailoutIncompleteVar] grun-master/intl/bindtextdom.c:232:12: style: Local variable 'len' shadows outer variable [shadowVariable] grun-master/intl/bindtextdom.c:204:14: note: Shadowed declaration grun-master/intl/bindtextdom.c:232:12: note: Shadow variable grun-master/intl/bindtextdom.c:261:15: style: Local variable 'len' shadows outer variable [shadowVariable] grun-master/intl/bindtextdom.c:204:14: note: Shadowed declaration grun-master/intl/bindtextdom.c:261:15: note: Shadow variable grun-master/intl/dcigettext.c:547:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable msgid [valueFlowBailoutIncompleteVar] grun-master/intl/dcigettext.c:650:14: style: Obsolescent function 'getwd' called. It is recommended to use 'getcwd' instead. [prohibitedgetwdCalled] grun-master/intl/dcigettext.c:697:39: style: Redundant condition: The condition 'categoryvalue[0] != '\0'' is redundant since 'categoryvalue[0] == ':'' is sufficient. [redundantCondition] grun-master/intl/dcigettext.c:487:25: style:inconclusive: Function 'libintl_dcigettext' argument 1 names different: declaration '__domainname' definition 'domainname'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:80:46: note: Function 'libintl_dcigettext' argument 1 names different: declaration '__domainname' definition 'domainname'. grun-master/intl/dcigettext.c:487:25: note: Function 'libintl_dcigettext' argument 1 names different: declaration '__domainname' definition 'domainname'. grun-master/intl/dcigettext.c:487:49: style:inconclusive: Function 'libintl_dcigettext' argument 2 names different: declaration '__msgid1' definition 'msgid1'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:81:18: note: Function 'libintl_dcigettext' argument 2 names different: declaration '__msgid1' definition 'msgid1'. grun-master/intl/dcigettext.c:487:49: note: Function 'libintl_dcigettext' argument 2 names different: declaration '__msgid1' definition 'msgid1'. grun-master/intl/dcigettext.c:487:69: style:inconclusive: Function 'libintl_dcigettext' argument 3 names different: declaration '__msgid2' definition 'msgid2'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:81:40: note: Function 'libintl_dcigettext' argument 3 names different: declaration '__msgid2' definition 'msgid2'. grun-master/intl/dcigettext.c:487:69: note: Function 'libintl_dcigettext' argument 3 names different: declaration '__msgid2' definition 'msgid2'. grun-master/intl/dcigettext.c:488:10: style:inconclusive: Function 'libintl_dcigettext' argument 4 names different: declaration '__plural' definition 'plural'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:82:10: note: Function 'libintl_dcigettext' argument 4 names different: declaration '__plural' definition 'plural'. grun-master/intl/dcigettext.c:488:10: note: Function 'libintl_dcigettext' argument 4 names different: declaration '__plural' definition 'plural'. grun-master/intl/dcigettext.c:488:36: style:inconclusive: Function 'libintl_dcigettext' argument 5 names different: declaration '__n' definition 'n'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:82:38: note: Function 'libintl_dcigettext' argument 5 names different: declaration '__n' definition 'n'. grun-master/intl/dcigettext.c:488:36: note: Function 'libintl_dcigettext' argument 5 names different: declaration '__n' definition 'n'. grun-master/intl/dcigettext.c:488:43: style:inconclusive: Function 'libintl_dcigettext' argument 6 names different: declaration '__category' definition 'category'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:83:10: note: Function 'libintl_dcigettext' argument 6 names different: declaration '__category' definition 'category'. grun-master/intl/dcigettext.c:488:43: note: Function 'libintl_dcigettext' argument 6 names different: declaration '__category' definition 'category'. grun-master/intl/tsearch.c:184:8: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:184:8: note: Shadow variable grun-master/intl/tsearch.c:284:12: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:284:12: note: Shadow variable grun-master/intl/tsearch.c:345:12: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:345:12: note: Shadow variable grun-master/intl/tsearch.c:370:8: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:370:8: note: Shadow variable grun-master/intl/tsearch.c:620:14: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:620:14: note: Shadow variable grun-master/intl/tsearch.c:643:14: style: Local variable 'root' shadows outer variable [shadowVariable] grun-master/intl/dcigettext.c:278:14: note: Shadowed declaration grun-master/intl/tsearch.c:643:14: note: Shadow variable grun-master/intl/dcigettext.c:639:10: style: Variable 'ret' can be declared as pointer to const [constVariablePointer] grun-master/intl/dcigettext.c:1384:25: style: Variable 'domaindata' can be declared as pointer to const [constVariablePointer] grun-master/intl/dgettext.c:52:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] grun-master/intl/dngettext.c:53:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] grun-master/intl/finddomain.c:61:30: style:inconclusive: Function '_nl_find_domain' argument 1 names different: declaration '__dirname' definition 'dirname'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:243:54: note: Function '_nl_find_domain' argument 1 names different: declaration '__dirname' definition 'dirname'. grun-master/intl/finddomain.c:61:30: note: Function '_nl_find_domain' argument 1 names different: declaration '__dirname' definition 'dirname'. grun-master/intl/finddomain.c:61:45: style:inconclusive: Function '_nl_find_domain' argument 2 names different: declaration '__locale' definition 'locale'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:243:71: note: Function '_nl_find_domain' argument 2 names different: declaration '__locale' definition 'locale'. grun-master/intl/finddomain.c:61:45: note: Function '_nl_find_domain' argument 2 names different: declaration '__locale' definition 'locale'. grun-master/intl/finddomain.c:62:16: style:inconclusive: Function '_nl_find_domain' argument 3 names different: declaration '__domainname' definition 'domainname'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:244:19: note: Function '_nl_find_domain' argument 3 names different: declaration '__domainname' definition 'domainname'. grun-master/intl/finddomain.c:62:16: note: Function '_nl_find_domain' argument 3 names different: declaration '__domainname' definition 'domainname'. grun-master/intl/finddomain.c:62:44: style:inconclusive: Function '_nl_find_domain' argument 4 names different: declaration '__domainbinding' definition 'domainbinding'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:245:23: note: Function '_nl_find_domain' argument 4 names different: declaration '__domainbinding' definition 'domainbinding'. grun-master/intl/finddomain.c:62:44: note: Function '_nl_find_domain' argument 4 names different: declaration '__domainbinding' definition 'domainbinding'. grun-master/intl/gettext.c:57:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] grun-master/intl/l10nflist.c:321:12: style: Variable 'dir' can be declared as pointer to const [constVariablePointer] grun-master/intl/loadmsgcat.c:784:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fd [valueFlowBailoutIncompleteVar] grun-master/intl/loadmsgcat.c:861:12: style: The comparison 'data == (struct mo_file_header*)-1' is always true because 'data' and '(struct mo_file_header*)-1' represent the same value. [knownConditionTrueFalse] grun-master/intl/loadmsgcat.c:791:33: note: 'data' is assigned value '(struct mo_file_header*)-1' here. grun-master/intl/loadmsgcat.c:861:12: note: The comparison 'data == (struct mo_file_header*)-1' is always true because 'data' and '(struct mo_file_header*)-1' represent the same value. grun-master/intl/loadmsgcat.c:780:42: style:inconclusive: Function '_nl_load_domain' argument 1 names different: declaration '__domain' definition 'domain_file'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:247:47: note: Function '_nl_load_domain' argument 1 names different: declaration '__domain' definition 'domain_file'. grun-master/intl/loadmsgcat.c:780:42: note: Function '_nl_load_domain' argument 1 names different: declaration '__domain' definition 'domain_file'. grun-master/intl/loadmsgcat.c:781:20: style:inconclusive: Function '_nl_load_domain' argument 2 names different: declaration '__domainbinding' definition 'domainbinding'. [funcArgNamesDifferent] grun-master/intl/gettextP.h:248:25: note: Function '_nl_load_domain' argument 2 names different: declaration '__domainbinding' definition 'domainbinding'. grun-master/intl/loadmsgcat.c:781:20: note: Function '_nl_load_domain' argument 2 names different: declaration '__domainbinding' definition 'domainbinding'. grun-master/intl/localcharset.c:124:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBDIR [valueFlowBailoutIncompleteVar] grun-master/intl/localcharset.c:358:14: style: Condition 'locale==NULL' is always true [knownConditionTrueFalse] grun-master/intl/localcharset.c:349:24: note: Assignment 'locale=NULL', assigned value is 0 grun-master/intl/localcharset.c:358:14: note: Condition 'locale==NULL' is always true grun-master/intl/localealias.c:163:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable lock [valueFlowBailoutIncompleteVar] grun-master/intl/localealias.c:159:21: style: Variable 'retval' can be declared as pointer to const [constVariablePointer] grun-master/intl/localealias.c:261:13: style: Variable 'alias' can be declared as pointer to const [constVariablePointer] grun-master/intl/localealias.c:262:13: style: Variable 'value' can be declared as pointer to const [constVariablePointer] grun-master/intl/localealias.c:175:41: error: Uninitialized variable: &item.value [uninitvar] grun-master/intl/log.c:113:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable lock [valueFlowBailoutIncompleteVar] grun-master/intl/ngettext.c:59:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] grun-master/intl/os2compat.c:60:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBDIR [valueFlowBailoutIncompleteVar] grun-master/intl/os2compat.c:51:9: style: Variable 'root' can be declared as pointer to const [constVariablePointer] plural.y:164:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable qmop [valueFlowBailoutIncompleteVar] plural.y:280:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable equal [valueFlowBailoutIncompleteVar] plural.c:1160:5: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] plural.c:1416:15: style: Condition 'yyn==0' is always true [knownConditionTrueFalse] plural.c:1413:16: note: Assignment 'yyn=yytable[yyn]', assigned value is greater than -1 plural.c:1414:11: note: Assuming that condition 'yyn<=0' is not redundant plural.c:1416:15: note: Condition 'yyn==0' is always true plural.y:156:21: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:158:52: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:164:96: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:172:71: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:180:72: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:188:89: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:196:89: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:204:89: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:212:89: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:220:48: style: Same expression on both sides of '-'. [duplicateExpression] plural.y:237:42: style: Same expression on both sides of '-'. [duplicateExpression] grun-master/intl/xsize.h:60:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIZE_MAX [valueFlowBailoutIncompleteVar] grun-master/intl/printf-parse.c:165:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIZE_MAX [valueFlowBailoutIncompleteVar] grun-master/intl/vasnprintf.c:1431:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] grun-master/intl/printf.c:111:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] grun-master/intl/printf.c:137:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] grun-master/intl/printf.c:170:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] grun-master/intl/vasnprintf.c:4645:3: style: Label 'overflow' is not used. [unusedLabel] grun-master/intl/vasnprintf.c:4215:12: style: Variable 'arg' can be declared as pointer to const [constVariablePointer] grun-master/intl/tsearch.c:623:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable leaf [valueFlowBailoutIncompleteVar] diff: 2.13.0 grun-master/grun.c:117:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] head grun-master/grun.c:230:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] head grun-master/grun.c:471:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] head grun-master/grun.c:568:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IEXEC [valueFlowBailoutIncompleteVar] head grun-master/grun.c:781:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_End [valueFlowBailoutIncompleteVar] head grun-master/grun.c:792:23: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:23: note: Parameter 'widget' can be declared as pointer to const head grun-master/grun.c:792:41: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:41: note: Parameter 'event' can be declared as pointer to const head grun-master/grun.c:792:57: style: Parameter 'data' can be declared as pointer to const. However it seems that 'gexit' is a callback function, if 'data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] grun-master/grun.c:908:66: note: You might need to cast the function pointer here grun-master/grun.c:792:57: note: Parameter 'data' can be declared as pointer to const head grun-master/grun.c:856:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] head grun-master/intl/printf-parse.c:165:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIZE_MAX [valueFlowBailoutIncompleteVar] head grun-master/intl/printf.c:111:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] head grun-master/intl/printf.c:137:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] head grun-master/intl/printf.c:170:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] head grun-master/intl/vasnprintf.c:1431:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] head plural.y:280:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable equal [valueFlowBailoutIncompleteVar] DONE