2025-11-27 03:29 ftp://ftp.de.debian.org/debian/pool/main/i/ibus-array/ibus-array_0.2.3.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=sqlite3 --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-88-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.69 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.18.0 head-info: 9486fde (2025-11-26 08:20:02 +0100) count: 21 43 elapsed-time: 0.1 0.4 head-timing-info: old-timing-info: head results: ibus-array-release-0.2.3/src/array.c:66:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PKGDATADIR [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:137:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:159:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:181:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:203:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:225:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:247:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:274:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SQLITE_TRANSIENT [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/array.c:261:46: style:inconclusive: Function 'array_input_key_is_not_special' argument 1 names different: declaration 'content' definition 'context'. [funcArgNamesDifferent] ibus-array-release-0.2.3/src/array.h:43:55: note: Function 'array_input_key_is_not_special' argument 1 names different: declaration 'content' definition 'context'. ibus-array-release-0.2.3/src/array.c:261:46: note: Function 'array_input_key_is_not_special' argument 1 names different: declaration 'content' definition 'context'. ibus-array-release-0.2.3/src/array.c:276:20: style: Local variable 'ch' shadows outer argument [shadowArgument] ibus-array-release-0.2.3/src/array.c:262:65: note: Shadowed declaration ibus-array-release-0.2.3/src/array.c:276:20: note: Shadow variable ibus-array-release-0.2.3/src/array.c:124:70: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/array.c:150:72: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/array.c:172:72: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/array.c:194:73: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/array.c:216:86: style: Parameter 'ch' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/array.c:238:87: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] ibus-array-release-0.2.3/src/engine.c:402:0: error: failed to evaluate #if condition, undefined function-like macro invocation: IBUS_CHECK_VERSION( ... ) [syntaxError] ibus-array-release-0.2.3/src/main.c:75:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PKGDATADIR [valueFlowBailoutIncompleteVar] ibus-array-release-0.2.3/src/main.c:108:5: error: Memory leak: context [memleak] ibus-array-release-0.2.3/src/main.c:41:33: style: Parameter 'bus' can be declared as pointer to const. However it seems that 'ibus_disconnected_cb' is a callback function, if 'bus' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-array-release-0.2.3/src/main.c:56:5: note: You might need to cast the function pointer here ibus-array-release-0.2.3/src/main.c:41:33: note: Parameter 'bus' can be declared as pointer to const ibus-array-release-0.2.3/src/main.c:42:33: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'ibus_disconnected_cb' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] ibus-array-release-0.2.3/src/main.c:56:5: note: You might need to cast the function pointer here ibus-array-release-0.2.3/src/main.c:42:33: note: Parameter 'user_data' can be declared as pointer to const diff: 2.18.0 ibus-array-release-0.2.3/src/engine.c:145:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_TYPE_ENGINE [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:151:14: style: Unused variable: res [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:170:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_VARIANT_CLASS_BOOLEAN [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:237:54: style:inconclusive: Function 'ibus_array_engine_init' argument 1 names different: declaration 'engine' definition 'arrayeng'. [funcArgNamesDifferent] ibus-array-release-0.2.3/src/engine.c:57:54: note: Function 'ibus_array_engine_init' argument 1 names different: declaration 'engine' definition 'arrayeng'. ibus-array-release-0.2.3/src/engine.c:237:54: note: Function 'ibus_array_engine_init' argument 1 names different: declaration 'engine' definition 'arrayeng'. 2.18.0 ibus-array-release-0.2.3/src/engine.c:265:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PROP_TYPE_NORMAL [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:294:57: style:inconclusive: Function 'ibus_array_engine_destroy' argument 1 names different: declaration 'engine' definition 'arrayeng'. [funcArgNamesDifferent] ibus-array-release-0.2.3/src/engine.c:58:57: note: Function 'ibus_array_engine_destroy' argument 1 names different: declaration 'engine' definition 'arrayeng'. ibus-array-release-0.2.3/src/engine.c:294:57: note: Function 'ibus_array_engine_destroy' argument 1 names different: declaration 'engine' definition 'arrayeng'. 2.18.0 ibus-array-release-0.2.3/src/engine.c:346:14: style: Unused variable: retval [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:392:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_ATTR_UNDERLINE_SINGLE [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:396:20: style: Condition 'retval!=0' is always false [knownConditionTrueFalse] ibus-array-release-0.2.3/src/engine.c:395:18: note: Assignment 'retval=0', assigned value is 0 ibus-array-release-0.2.3/src/engine.c:396:20: note: Condition 'retval!=0' is always false head ibus-array-release-0.2.3/src/engine.c:402:0: error: failed to evaluate #if condition, undefined function-like macro invocation: IBUS_CHECK_VERSION( ... ) [syntaxError] 2.18.0 ibus-array-release-0.2.3/src/engine.c:414:14: style: Unused variable: retval [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:449:14: style: Unused variable: retval [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:483:17: style: Unused variable: value [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:562:15: style: Unused variable: text [unusedVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:575:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_RELEASE_MASK [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:664:24: style: Variable 'commit_rev' is assigned a value that is never used. [unreadVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:734:28: style: Variable 'commit_rev' is assigned a value that is never used. [unreadVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:765:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IBUS_9 [valueFlowBailoutIncompleteVar] 2.18.0 ibus-array-release-0.2.3/src/engine.c:785:20: style: Variable 'commit_rev' is assigned a value that is never used. [unreadVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:810:24: style: Variable 'commit_rev' is assigned a value that is never used. [unreadVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:820:24: style: Variable 'commit_rev' is assigned a value that is never used. [unreadVariable] 2.18.0 ibus-array-release-0.2.3/src/engine.c:850:16: style: Variable 'sch' can be declared as pointer to const [constVariablePointer] 2.18.0 ibus-array-release-0.2.3/src/engine.c:871:16: style: Variable 'rawkeys' can be declared as pointer to const [constVariablePointer] 2.18.0 ibus-array-release-0.2.3/src/engine.c:899:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LIBEXECDIR [valueFlowBailoutIncompleteVar] DONE