2026-05-01 19:48 ftp://ftp.de.debian.org/debian/pool/main/f/fcitx-rime/fcitx-rime_0.3.2+git20230425.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=qt --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 -j6 platform: Linux-7.0.3+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.4.0 compiler: g++ (Debian 15.2.0-17) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a734 (2026-05-01 11:10:43 +0200) count: 58 59 elapsed-time: 0.7 0.5 head-timing-info: old-timing-info: head results: fcitx-rime-master/gui/src/ErrorOverlay.cpp:40:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AlignHCenter [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/RimeConfigParser.cpp:54:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable shared_data_dir [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:82:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RIME_DATA_DIR [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:117:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FcitxIMIFace [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:204:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CONTEXT_IM_KEYBOARD_LAYOUT [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:226:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FcitxKey_Escape [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:236:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FcitxKeyState_SimpleMask [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:257:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable status [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:282:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FcitxKeyState_SimpleMask [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:298:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IRV_TO_PROCESS [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:331:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IRV_TO_PROCESS [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:371:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FcitxKey_Page_Down [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:386:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable context [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:504:78: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable schema_id [valueFlowBailoutIncompleteVar] fcitx-rime-master/src/fcitx-rime.c:543:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable status [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/RimeConfigParser.cpp:38:24: style:inconclusive: Technically the member function 'fcitx_rime::RimeConfigParser::isError' can be const. [functionConst] fcitx-rime-master/gui/src/RimeConfigParser.h:65:10: note: Technically the member function 'fcitx_rime::RimeConfigParser::isError' can be const. fcitx-rime-master/gui/src/RimeConfigParser.cpp:38:24: note: Technically the member function 'fcitx_rime::RimeConfigParser::isError' can be const. fcitx-rime-master/gui/src/RimeConfigParser.cpp:31:18: style: C-style pointer casting [cstyleCast] fcitx-rime-master/gui/src/RimeConfigParser.cpp:272:53: style:inconclusive: Function 'listForeach' argument 3 names different: declaration '' definition 'callback'. [funcArgNamesDifferentUnnamed] fcitx-rime-master/gui/src/RimeConfigParser.cpp:348:47: style:inconclusive: Function 'schemaIndex' argument 1 names different: declaration 'schema' definition 'schema_id'. [funcArgNamesDifferent] fcitx-rime-master/gui/src/RimeConfigParser.h:82:33: note: Function 'schemaIndex' argument 1 names different: declaration 'schema' definition 'schema_id'. fcitx-rime-master/gui/src/RimeConfigParser.cpp:348:47: note: Function 'schemaIndex' argument 1 names different: declaration 'schema' definition 'schema_id'. fcitx-rime-master/gui/src/RimeConfigParser.cpp:206:16: style: Variable 'binding' can be declared as reference to const [constVariableReference] fcitx-rime-master/src/fcitx-rime.c:260:18: style: Redundant initialization for 'text'. The initialized value is overwritten before it is read. [redundantInitialization] fcitx-rime-master/src/fcitx-rime.c:258:20: note: text is initialized fcitx-rime-master/src/fcitx-rime.c:260:18: note: text is overwritten fcitx-rime-master/src/fcitx-rime.c:546:18: style: Redundant initialization for 'text'. The initialized value is overwritten before it is read. [redundantInitialization] fcitx-rime-master/src/fcitx-rime.c:544:20: note: text is initialized fcitx-rime-master/src/fcitx-rime.c:546:18: note: text is overwritten fcitx-rime-master/src/fcitx-rime.c:230:67: style:inconclusive: Function 'FcitxRimeDoReleaseInput' argument 2 names different: declaration 'sym' definition '_sym'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:27:74: note: Function 'FcitxRimeDoReleaseInput' argument 2 names different: declaration 'sym' definition '_sym'. fcitx-rime-master/src/fcitx-rime.c:230:67: note: Function 'FcitxRimeDoReleaseInput' argument 2 names different: declaration 'sym' definition '_sym'. fcitx-rime-master/src/fcitx-rime.c:230:86: style:inconclusive: Function 'FcitxRimeDoReleaseInput' argument 3 names different: declaration 'state' definition '_state'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:27:92: note: Function 'FcitxRimeDoReleaseInput' argument 3 names different: declaration 'state' definition '_state'. fcitx-rime-master/src/fcitx-rime.c:230:86: note: Function 'FcitxRimeDoReleaseInput' argument 3 names different: declaration 'state' definition '_state'. fcitx-rime-master/src/fcitx-rime.c:276:60: style:inconclusive: Function 'FcitxRimeDoInput' argument 2 names different: declaration 'sym' definition '_sym'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:26:67: note: Function 'FcitxRimeDoInput' argument 2 names different: declaration 'sym' definition '_sym'. fcitx-rime-master/src/fcitx-rime.c:276:60: note: Function 'FcitxRimeDoInput' argument 2 names different: declaration 'sym' definition '_sym'. fcitx-rime-master/src/fcitx-rime.c:276:79: style:inconclusive: Function 'FcitxRimeDoInput' argument 3 names different: declaration 'state' definition '_state'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:26:85: note: Function 'FcitxRimeDoInput' argument 3 names different: declaration 'state' definition '_state'. fcitx-rime-master/src/fcitx-rime.c:276:79: note: Function 'FcitxRimeDoInput' argument 3 names different: declaration 'state' definition '_state'. fcitx-rime-master/src/fcitx-rime.c:293:64: style:inconclusive: Function 'FcitxRimeDoInputReal' argument 2 names different: declaration '_sym' definition 'sym'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:28:71: note: Function 'FcitxRimeDoInputReal' argument 2 names different: declaration '_sym' definition 'sym'. fcitx-rime-master/src/fcitx-rime.c:293:64: note: Function 'FcitxRimeDoInputReal' argument 2 names different: declaration '_sym' definition 'sym'. fcitx-rime-master/src/fcitx-rime.c:293:82: style:inconclusive: Function 'FcitxRimeDoInputReal' argument 3 names different: declaration '_state' definition 'state'. [funcArgNamesDifferent] fcitx-rime-master/src/fcitx-rime.c:28:90: note: Function 'FcitxRimeDoInputReal' argument 3 names different: declaration '_state' definition 'state'. fcitx-rime-master/src/fcitx-rime.c:293:82: note: Function 'FcitxRimeDoInputReal' argument 3 names different: declaration '_state' definition 'state'. fcitx-rime-master/src/fcitx-rime.c:487:48: style: Parameter 'menu' can be declared as pointer to const. However it seems that 'FcitxRimeSchemaMenuAction' is a callback function, if 'menu' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fcitx-rime-master/src/fcitx-rime.c:175:35: note: You might need to cast the function pointer here fcitx-rime-master/src/fcitx-rime.c:487:48: note: Parameter 'menu' can be declared as pointer to const fcitx-rime-master/src/fcitx-rime.c:563:49: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'FcitxRimeGetDeployIcon' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fcitx-rime-master/src/fcitx-rime.c:152:9: note: You might need to cast the function pointer here fcitx-rime-master/src/fcitx-rime.c:563:49: note: Parameter 'arg' can be declared as pointer to const fcitx-rime-master/src/fcitx-rime.c:568:47: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'FcitxRimeGetSyncIcon' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fcitx-rime-master/src/fcitx-rime.c:161:9: note: You might need to cast the function pointer here fcitx-rime-master/src/fcitx-rime.c:568:47: note: Parameter 'arg' can be declared as pointer to const fcitx-rime-master/src/fcitx-rime.c:574:32: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'FcitxRimeToggleEnZh' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] fcitx-rime-master/src/fcitx-rime.c:142:9: note: You might need to cast the function pointer here fcitx-rime-master/src/fcitx-rime.c:574:32: note: Parameter 'arg' can be declared as pointer to const fcitx-rime-master/src/fcitx-rime.c:584:14: style: Variable 'im' can be declared as pointer to const [constVariablePointer] fcitx-rime-master/gui/src/Model.h:40:5: style: Class 'FcitxKeySeq' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx-rime-master/gui/src/Model.h:41:5: style: Class 'FcitxKeySeq' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx-rime-master/gui/src/Model.h:42:5: style: Class 'FcitxKeySeq' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx-rime-master/gui/src/ConfigMain.cpp:39:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AlignTop [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:98:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:122:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:148:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:165:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:194:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:284:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable horizontallayout_toggle [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:409:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable horizontallayout_toggle [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:543:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Files [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/ConfigMain.cpp:366:18: style: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::setSwitchKey' can be static. [functionStatic] fcitx-rime-master/gui/src/ConfigMain.h:62:10: note: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::setSwitchKey' can be static. fcitx-rime-master/gui/src/ConfigMain.cpp:366:18: note: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::setSwitchKey' can be static. fcitx-rime-master/gui/src/ConfigMain.cpp:388:31: style: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::textToSwitchKey' can be static. [functionStatic] fcitx-rime-master/gui/src/ConfigMain.h:63:23: note: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::textToSwitchKey' can be static. fcitx-rime-master/gui/src/ConfigMain.cpp:388:31: note: Either there is a missing 'override', or the member function 'fcitx_rime::ConfigMain::textToSwitchKey' can be static. fcitx-rime-master/gui/src/ConfigMain.cpp:92:48: performance: Function parameter 'im_name' should be passed by const reference. [passedByValue] fcitx-rime-master/gui/src/Model.cpp:207:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MS_Unknown [valueFlowBailoutIncompleteVar] fcitx-rime-master/gui/src/Model.cpp:139:14: warning:inconclusive: Member variable 'FcitxKeySeq::sym_' is not initialized in the constructor. [uninitMemberVar] fcitx-rime-master/gui/src/Model.cpp:186:26: style: The member function 'fcitx_rime::FcitxKeySeq::keySymToString' can be static. [functionStatic] fcitx-rime-master/gui/src/Model.h:44:17: note: The member function 'fcitx_rime::FcitxKeySeq::keySymToString' can be static. fcitx-rime-master/gui/src/Model.cpp:186:26: note: The member function 'fcitx_rime::FcitxKeySeq::keySymToString' can be static. fcitx-rime-master/gui/src/Model.cpp:170:21: style: The member function 'fcitx_rime::FcitxKeySeq::keySymFromString' can be static. [functionStatic] fcitx-rime-master/gui/src/Model.h:45:12: note: The member function 'fcitx_rime::FcitxKeySeq::keySymFromString' can be static. fcitx-rime-master/gui/src/Model.cpp:170:21: note: The member function 'fcitx_rime::FcitxKeySeq::keySymFromString' can be static. fcitx-rime-master/gui/src/Model.cpp:52:27: style: The member function 'fcitx_rime::RimeConfigDataModel::sortSingleKeySet' can be static. [functionStatic] fcitx-rime-master/gui/src/Model.h:76:10: note: The member function 'fcitx_rime::RimeConfigDataModel::sortSingleKeySet' can be static. fcitx-rime-master/gui/src/Model.cpp:52:27: note: The member function 'fcitx_rime::RimeConfigDataModel::sortSingleKeySet' can be static. fcitx-rime-master/gui/src/Model.cpp:91:16: style: Variable 'ascii' can be declared as reference to const [constVariableReference] fcitx-rime-master/gui/src/Model.cpp:100:16: style: Variable 'trasim' can be declared as reference to const [constVariableReference] fcitx-rime-master/gui/src/Model.cpp:109:16: style: Variable 'halffull' can be declared as reference to const [constVariableReference] fcitx-rime-master/gui/src/Model.cpp:118:16: style: Variable 'pgup' can be declared as reference to const [constVariableReference] fcitx-rime-master/gui/src/Model.cpp:127:16: style: Variable 'pgup' can be declared as reference to const [constVariableReference] diff: 2.20.0 fcitx-rime-master/gui/src/ConfigMain.h:61:40: performance: Function parameter 'im_name' should be passed by const reference. [passedByValue] 2.20.0 fcitx-rime-master/gui/src/Model.h:69:55: performance: Function parameter 'bindings' should be passed by const reference. [passedByValue] head fcitx-rime-master/gui/src/RimeConfigParser.cpp:272:53: style:inconclusive: Function 'listForeach' argument 3 names different: declaration '' definition 'callback'. [funcArgNamesDifferentUnnamed] DONE