2025-11-13 16:08 ftp://ftp.de.debian.org/debian/pool/main/f/fcitx5-unikey/fcitx5-unikey_5.1.8.orig.tar.xz 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 -j4 platform: Linux-5.4.0-216-generic-x86_64-with-glibc2.29 python: 3.8.10 client-version: 1.3.69 compiler: g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 cppcheck: head 2.18.0 head-info: 9ab1585 (2025-11-12 10:13:54 +0100) count: 289 287 elapsed-time: 3.3 4.1 head-timing-info: old-timing-info: head results: fcitx5-unikey-5.1.8/keymap-editor/editor.h:34:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/main.cpp:17:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FCITX_INSTALL_LOCALEDIR [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/actions.cpp:34:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable vneCount [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/actions.cpp:96:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable vneCount [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/actions.cpp:50:20: style: Consider using std::copy algorithm instead of a raw loop. [useStlAlgorithm] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:40:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable addButton [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:125:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:167:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:185:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExistingFile [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:205:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AcceptSave [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/editor.h:47:10: style: Virtual function 'load' is called from constructor 'KeymapEditor(QWidget*parent=0)' at line 101. Dynamic binding is not used. [virtualCallInConstructor] fcitx5-unikey-5.1.8/keymap-editor/editor.cpp:101:5: note: Calling load fcitx5-unikey-5.1.8/keymap-editor/editor.h:47:10: note: load is a virtual function fcitx5-unikey-5.1.8/macro-editor/main.cpp:21:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FCITX_INSTALL_LOCALEDIR [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:41:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:63:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:85:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable vneCount [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:176:71: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PkgConfig [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:187:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PkgConfig [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:194:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:37:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable addButton [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:210:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PkgConfig [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:87:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_MACRO_KEY_LEN [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:230:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TelexMethodMapping [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:127:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PkgConfig [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:135:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PkgConfig [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:146:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExistingFile [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:166:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AcceptSave [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/editor.h:26:10: style: Virtual function 'load' is called from constructor 'MacroEditor(QWidget*parent=0)' at line 54. Dynamic binding is not used. [virtualCallInConstructor] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:54:5: note: Calling load fcitx5-unikey-5.1.8/macro-editor/editor.h:26:10: note: load is a virtual function fcitx5-unikey-5.1.8/macro-editor/editor.cpp:110:27: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/macro-editor/editor.cpp:110:40: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/macro-editor/model.cpp:31:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DisplayRole [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/src/unikey-config.h:39:1: error: There is an unknown macro here somewhere. Configuration is required. If FCITX_CONFIGURATION is a macro then please configure it. [unknownMacro] fcitx5-unikey-5.1.8/macro-editor/model.cpp:52:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable first [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/macro-editor/model.cpp:122:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CONV_CHARSET_XUTF8 [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:119:12: style: Obsolescent function 'index' called. It is recommended to use 'strchr' instead. [prohibitedindexCalled] fcitx5-unikey-5.1.8/keymap-editor/model.cpp:193:39: style:inconclusive: Function 'load' argument 1 names different: declaration 'fileName' definition 'file'. [funcArgNamesDifferent] fcitx5-unikey-5.1.8/keymap-editor/model.h:40:30: note: Function 'load' argument 1 names different: declaration 'fileName' definition 'file'. fcitx5-unikey-5.1.8/keymap-editor/model.cpp:193:39: note: Function 'load' argument 1 names different: declaration 'fileName' definition 'file'. fcitx5-unikey-5.1.8/keymap-editor/model.cpp:206:39: style:inconclusive: Function 'save' argument 1 names different: declaration 'fileName' definition 'file'. [funcArgNamesDifferent] fcitx5-unikey-5.1.8/keymap-editor/model.h:41:30: note: Function 'save' argument 1 names different: declaration 'fileName' definition 'file'. fcitx5-unikey-5.1.8/keymap-editor/model.cpp:206:39: note: Function 'save' argument 1 names different: declaration 'fileName' definition 'file'. fcitx5-unikey-5.1.8/unikey/byteio.cpp:449:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/byteio.cpp:458:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/byteio.cpp:470:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/test/testunikey.cpp:1767:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SurroundingText [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/convert.cpp:110:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/test/testunikey.cpp:1926:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TESTING_BINARY_DIR [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/byteio.cpp:10:17: warning: Member variable 'StringBIStream::m_bookmark' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/byteio.cpp:243:15: warning: Member variable 'FileBIStream::m_bookmark' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/byteio.cpp:243:15: warning: Member variable 'FileBIStream::m_readByte' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/byteio.h:87:9: style:inconclusive: Technically the member function 'StringBIStream::left' can be const. [functionConst] fcitx5-unikey-5.1.8/unikey/byteio.h:152:9: style:inconclusive: Technically the member function 'StringBOStream::getOutBytes' can be const. [functionConst] fcitx5-unikey-5.1.8/unikey/byteio.h:115:17: style: Virtual function 'close' is called from destructor '~FileBIStream()' at line 257. Dynamic binding is not used. [virtualCallInConstructor] fcitx5-unikey-5.1.8/unikey/byteio.cpp:257:9: note: Calling close fcitx5-unikey-5.1.8/unikey/byteio.h:115:17: note: close is a virtual function fcitx5-unikey-5.1.8/unikey/byteio.h:170:17: style: Virtual function 'close' is called from destructor '~FileBOStream()' at line 415. Dynamic binding is not used. [virtualCallInConstructor] fcitx5-unikey-5.1.8/unikey/byteio.cpp:415:9: note: Calling close fcitx5-unikey-5.1.8/unikey/byteio.h:170:17: note: close is a virtual function fcitx5-unikey-5.1.8/unikey/byteio.h:110:5: style: Class 'FileBIStream' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/byteio.h:165:5: style: Class 'FileBOStream' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/byteio.h:71:17: style: The function 'getNext' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:25:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:71:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:72:17: style: The function 'peekNext' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:26:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:72:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:73:17: style: The function 'unget' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:27:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:73:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:75:17: style: The function 'getNextW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:29:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:75:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:76:17: style: The function 'peekNextW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:30:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:76:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:78:17: style: The function 'getNextDW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:32:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:78:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:80:17: style: The function 'eos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:41:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:80:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:81:17: style: The function 'close' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:42:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:81:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:83:17: style: The function 'bookmark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:34:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:83:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:84:17: style: The function 'gotoBookmark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:39:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:84:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:115:17: style: The function 'close' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:42:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:115:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:117:17: style: The function 'getNext' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:25:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:117:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:118:17: style: The function 'peekNext' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:26:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:118:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:119:17: style: The function 'unget' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:27:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:119:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:121:17: style: The function 'getNextW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:29:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:121:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:122:17: style: The function 'peekNextW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:30:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:122:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:124:17: style: The function 'getNextDW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:32:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:124:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:126:17: style: The function 'eos' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:41:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:126:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:128:17: style: The function 'bookmark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:34:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:128:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:129:17: style: The function 'gotoBookmark' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:39:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:129:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:131:14: style: The destructor '~FileBIStream' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:19:14: note: Virtual destructor in base class fcitx5-unikey-5.1.8/unikey/byteio.h:131:14: note: Destructor in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:144:17: style: The function 'putB' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:48:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:144:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:145:17: style: The function 'putW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:49:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:145:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:146:17: style: The function 'puts' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:50:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:146:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:147:17: style: The function 'isOK' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:51:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:147:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:172:17: style: The function 'putB' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:48:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:172:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:173:17: style: The function 'putW' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:49:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:173:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:174:17: style: The function 'puts' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:50:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:174:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:175:17: style: The function 'isOK' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:51:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/byteio.h:175:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/byteio.h:176:14: style: The destructor '~FileBOStream' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/byteio.h:19:14: note: Virtual destructor in base class fcitx5-unikey-5.1.8/unikey/byteio.h:176:14: note: Destructor in derived class fcitx5-unikey-5.1.8/unikey/byteio.cpp:15:23: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:17:23: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:57:11: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:73:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:96:11: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:191:11: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:343:15: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:344:16: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:356:15: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:357:16: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/byteio.cpp:213:9: style: The scope of the variable 'n' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/byteio.cpp:339:16: style: The scope of the variable 'b2' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/byteio.cpp:353:16: style: The scope of the variable 'w2' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/byteio.cpp:365:12: style: The scope of the variable 'hi' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/byteio.cpp:243:32: style:inconclusive: Function 'FileBIStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. [funcArgNamesDifferent] fcitx5-unikey-5.1.8/unikey/byteio.h:110:22: note: Function 'FileBIStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. fcitx5-unikey-5.1.8/unikey/byteio.cpp:243:32: note: Function 'FileBIStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. fcitx5-unikey-5.1.8/unikey/byteio.cpp:404:32: style:inconclusive: Function 'FileBOStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. [funcArgNamesDifferent] fcitx5-unikey-5.1.8/unikey/byteio.h:165:22: note: Function 'FileBOStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. fcitx5-unikey-5.1.8/unikey/byteio.cpp:404:32: note: Function 'FileBOStream' argument 1 names different: declaration 'bufsize' definition 'bufSize'. fcitx5-unikey-5.1.8/unikey/charset.h:172:5: warning: Member variable 'UnicodeCStringCharset::m_prevIsHex' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.h:101:5: style: Class 'SingleByteCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:122:5: style: Class 'UnicodeCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:136:5: style: Class 'DoubleByteCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:144:5: style: Class 'UnicodeUTF8Charset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:153:5: style: Class 'UnicodeRefCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:162:5: style: Class 'UnicodeHexCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:172:5: style: Class 'UnicodeCStringCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:227:5: style: Class 'VIQRCharset' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] fcitx5-unikey-5.1.8/unikey/charset.h:102:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:102:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:103:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:103:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:110:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:110:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:111:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:111:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:112:17: style: The function 'elementSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:90:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:112:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:123:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:123:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:124:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:124:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:125:17: style: The function 'elementSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:90:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:125:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:137:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:137:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:138:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:138:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:146:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:123:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:146:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:147:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:124:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:147:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:155:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:123:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:155:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:156:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:124:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:156:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:163:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:156:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:163:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:173:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:123:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:173:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:174:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:124:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:174:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:175:18: style: The function 'startInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:73:18: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:175:18: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:188:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:188:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:189:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:189:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:206:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:206:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:207:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:207:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:208:17: style: The function 'elementSize' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:90:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:208:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:228:18: style: The function 'startInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:73:18: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:228:18: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:229:18: style: The function 'startOutput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:74:18: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:229:18: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:230:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:230:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:231:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:231:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:243:18: style: The function 'startInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:73:18: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:243:18: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:244:18: style: The function 'startOutput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:74:18: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:244:18: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:245:17: style: The function 'nextInput' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:77:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:245:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/charset.h:246:17: style: The function 'putChar' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] fcitx5-unikey-5.1.8/unikey/charset.h:89:17: note: Virtual function in base class fcitx5-unikey-5.1.8/unikey/charset.h:246:17: note: Function in derived class fcitx5-unikey-5.1.8/unikey/convert.cpp:144:13: error: Return value of allocation function 'mkstemp' is not stored. [leakReturnValNotUsed] fcitx5-unikey-5.1.8/unikey/convert.cpp:23:15: style: The scope of the variable 'stdChar' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/convert.cpp:170:20: style: Variable 'cmd[0]' is assigned a value that is never used. [unreadVariable] fcitx5-unikey-5.1.8/unikey/inputproc.cpp:248:24: style:inconclusive: Technically the member function 'UkInputProcessor::keyCodeToEvent' can be const. [functionConst] fcitx5-unikey-5.1.8/unikey/inputproc.h:79:10: note: Technically the member function 'UkInputProcessor::keyCodeToEvent' can be const. fcitx5-unikey-5.1.8/unikey/inputproc.cpp:248:24: note: Technically the member function 'UkInputProcessor::keyCodeToEvent' can be const. fcitx5-unikey-5.1.8/unikey/inputproc.cpp:281:24: performance:inconclusive: Technically the member function 'UkInputProcessor::keyCodeToSymbol' can be static (but you may consider moving to unnamed namespace). [functionStatic] fcitx5-unikey-5.1.8/unikey/inputproc.h:80:10: note: Technically the member function 'UkInputProcessor::keyCodeToSymbol' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/inputproc.cpp:281:24: note: Technically the member function 'UkInputProcessor::keyCodeToSymbol' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/inputproc.cpp:293:30: performance:inconclusive: Technically the member function 'UkInputProcessor::getCharType' can be static (but you may consider moving to unnamed namespace). [functionStatic] fcitx5-unikey-5.1.8/unikey/inputproc.h:85:16: note: Technically the member function 'UkInputProcessor::getCharType' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/inputproc.cpp:293:30: note: Technically the member function 'UkInputProcessor::getCharType' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/inputproc.cpp:125:9: style: The statement 'if (!ClassifierTableInitialized) ClassifierTableInitialized=true' is logically equivalent to 'ClassifierTableInitialized=true'. [duplicateConditionalAssign] fcitx5-unikey-5.1.8/unikey/inputproc.cpp:126:36: note: Assignment 'ClassifierTableInitialized=true' fcitx5-unikey-5.1.8/unikey/inputproc.cpp:125:9: note: Condition '!ClassifierTableInitialized' is redundant fcitx5-unikey-5.1.8/unikey/inputproc.cpp:217:33: style: Parameter 'map' can be declared as const array [constParameter] fcitx5-unikey-5.1.8/unikey/unikeyinputcontext.cpp:54:36: error: syntax error [syntaxError] fcitx5-unikey-5.1.8/unikey/mactab.cpp:89:31: style:inconclusive: Technically the member function 'CMacroTable::lookup' can be const. [functionConst] fcitx5-unikey-5.1.8/unikey/mactab.h:41:22: note: Technically the member function 'CMacroTable::lookup' can be const. fcitx5-unikey-5.1.8/unikey/mactab.cpp:89:31: note: Technically the member function 'CMacroTable::lookup' can be const. fcitx5-unikey-5.1.8/unikey/mactab.cpp:105:19: performance:inconclusive: Technically the member function 'CMacroTable::readHeader' can be static (but you may consider moving to unnamed namespace). [functionStatic] fcitx5-unikey-5.1.8/unikey/mactab.h:50:10: note: Technically the member function 'CMacroTable::readHeader' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/mactab.cpp:105:19: note: Technically the member function 'CMacroTable::readHeader' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/mactab.cpp:141:19: performance:inconclusive: Technically the member function 'CMacroTable::writeHeader' can be static (but you may consider moving to unnamed namespace). [functionStatic] fcitx5-unikey-5.1.8/unikey/mactab.h:51:10: note: Technically the member function 'CMacroTable::writeHeader' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/mactab.cpp:141:19: note: Technically the member function 'CMacroTable::writeHeader' can be static (but you may consider moving to unnamed namespace). fcitx5-unikey-5.1.8/unikey/mactab.cpp:35:23: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:35:53: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:37:23: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:37:53: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:63:21: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:64:35: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:65:36: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:91:19: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:215:13: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:219:25: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:219:38: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:223:13: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:227:25: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:258:55: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:259:21: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:272:55: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:273:21: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:290:17: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:35:9: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:37:9: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:64:21: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:94:16: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:311:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:318:12: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/mactab.cpp:40:15: style: The scope of the variable 'ls1' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:40:20: style: The scope of the variable 'ls2' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:67:15: style: The scope of the variable 'ls1' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:67:20: style: The scope of the variable 'ls2' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:162:12: style: The scope of the variable 'len' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:201:9: style: The scope of the variable 'ret' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/mactab.cpp:89:49: style: Parameter 'key' can be declared as pointer to const [constParameterPointer] fcitx5-unikey-5.1.8/unikey/mactab.cpp:91:15: style: Variable 'p' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/mactab.cpp:290:11: style: Variable 'pos' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/usrkeymap.cpp:77:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable npos [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/usrkeymap.cpp:171:9: style: The scope of the variable 'labelIndex' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2336:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UkKeyProcList [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2431:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UkKeyProcList [valueFlowBailoutIncompleteVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_atWordBeginning' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_escapeBowl' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_escapeRoof' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_escapeHook' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_escapeTone' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_gotTone' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_escAll' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_noOutEsc' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:664:14: warning: Member variable 'VIQRCharset::m_suspicious' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:947:16: warning: Member variable 'CVnCharsetLib::m_pUniCString' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/charset.cpp:992:16: warning: Class 'CVnCharsetLib' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] fcitx5-unikey-5.1.8/unikey/charset.cpp:992:16: warning: Class 'CVnCharsetLib' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] fcitx5-unikey-5.1.8/unikey/charset.cpp:113:18: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:114:18: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:137:22: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:162:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:163:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:204:9: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:214:25: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:310:22: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:408:22: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:521:22: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:603:17: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:985:28: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:986:31: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:1180:17: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/charset.cpp:951:17: style: Same expression on both sides of '-'. [duplicateExpression] fcitx5-unikey-5.1.8/unikey/charset.cpp:960:17: style: Same expression on both sides of '-'. [duplicateExpression] fcitx5-unikey-5.1.8/unikey/charset.cpp:886:17: style: Variable 'ret' is reassigned a value before the old one has been used. [redundantAssignment] fcitx5-unikey-5.1.8/unikey/charset.cpp:880:21: note: ret is assigned fcitx5-unikey-5.1.8/unikey/charset.cpp:886:17: note: ret is overwritten fcitx5-unikey-5.1.8/unikey/charset.cpp:85:19: style: The scope of the variable 'ch' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:257:20: style: The scope of the variable 'w3' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:258:27: style: The scope of the variable 'third' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:432:16: style: The scope of the variable 'digit' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:469:16: style: The scope of the variable 'digit' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:545:16: style: The scope of the variable 'digit' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:667:13: style: The scope of the variable 'dw' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/charset.cpp:137:14: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:167:53: style: Parameter 'uniChars' can be declared as pointer to const [constParameterPointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:203:22: style: Variable 'pInfo' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:310:14: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:408:14: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:521:14: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:602:22: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:1097:48: style: Parameter 'pOptions' can be declared as pointer to const [constParameterPointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:1120:44: style: Parameter 'precomposedChars' can be declared as pointer to const [constParameterPointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:1179:22: style: Variable 'pChar' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/charset.cpp:204:36: warning: Uninitialized variable: &key.stdIndex [uninitvar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1687:31: warning: Either the condition 'm_current<0' is redundant or the array 'm_buffer[128]' is accessed at index -1, which is out of bounds. [negativeIndex] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1682:19: note: Assuming that condition 'm_current<0' is not redundant fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1686:5: note: m_current is decremented', new value is -1 fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1687:31: note: Negative array index fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2648:22: style: Array index 'rid' is used before limits check. [arrayIndexThenCheck] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_changePos' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_backs' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_keyStrokes' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_pOutBuf' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_pOutSize' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_outputWritten' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_keyRestoring' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_outType' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2621:11: warning: Member variable 'UkEngine::m_buffer' is not initialized in the constructor. [uninitMemberVar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2453:15: style:inconclusive: Technically the member function 'UkEngine::writeOutput' can be const. [functionConst] fcitx5-unikey-5.1.8/unikey/ukengine.h:132:9: note: Technically the member function 'UkEngine::writeOutput' can be const. fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2453:15: note: Technically the member function 'UkEngine::writeOutput' can be const. fcitx5-unikey-5.1.8/unikey/ukengine.cpp:866:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:867:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:880:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:881:20: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:894:18: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:895:18: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1035:23: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1049:23: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2778:15: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2791:39: style: C-style pointer casting [cstyleCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2777:60: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2791:19: warning: Potentially invalid type conversion in old-style C cast, clarify/fix with C++ cast [dangerousTypeCast] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1907:7: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1698:47: style: The scope of the variable 'newTonePos' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1699:30: style: The scope of the variable 'newVs' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1948:24: style: The scope of the variable 'tonePos' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1948:33: style: The scope of the variable 'newTonePos' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2866:16: style: The scope of the variable 'lexi' can be reduced. [variableScope] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:914:19: style: Variable 'vInfo' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:944:19: style: Variable 'vInfo' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:948:17: style: Variable 'cInfo' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1501:19: style: Variable 'info' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1555:19: style: Variable 'info' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1687:15: style: Variable 'entry' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1789:43: style: Parameter 'ev' can be declared as reference to const [constParameterReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1792:15: style: Variable 'entry' can be declared as reference to const [constVariableReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:2674:38: style: Parameter 'ev' can be declared as reference to const [constParameterReference] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:866:15: style: Variable 't1' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:867:15: style: Variable 't2' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:880:15: style: Variable 't1' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:881:15: style: Variable 't2' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:894:13: style: Variable 't1' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:895:13: style: Variable 't2' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:926:25: style: Variable 'kVseq' can be declared as const array [constVariable] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1035:15: style: Variable 'pInfo' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1049:15: style: Variable 'pInfo' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1211:17: style: Variable 'v' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1361:17: style: Variable 'v' can be declared as pointer to const [constVariablePointer] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1035:43: error: Uninitialized variable: &key.vs [uninitvar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1049:43: error: Uninitialized variable: &key.cs [uninitvar] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1235:25: style: Variable 'toneRemoved' is assigned a value that is never used. [unreadVariable] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1269:25: style: Variable 'toneRemoved' is assigned a value that is never used. [unreadVariable] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1309:29: style: Variable 'toneRemoved' is assigned a value that is never used. [unreadVariable] fcitx5-unikey-5.1.8/unikey/ukengine.cpp:1956:28: style: Variable 'newVs' is assigned a value that is never used. [unreadVariable] diff: head fcitx5-unikey-5.1.8/unikey/charset.cpp:992:16: warning: Class 'CVnCharsetLib' does not have a copy constructor which is recommended since it has dynamic memory/resource management. [noCopyConstructor] head fcitx5-unikey-5.1.8/unikey/charset.cpp:992:16: warning: Class 'CVnCharsetLib' does not have a operator= which is recommended since it has dynamic memory/resource management. [noOperatorEq] DONE