2025-11-22 14:13 ftp://ftp.de.debian.org/debian/pool/main/libx/libxklavier/libxklavier_5.4.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=motif --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 --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j4 platform: Linux-6.12.57+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: cb76e52 (2025-11-22 14:47:37 +0100) count: 145 144 elapsed-time: 0.3 0.3 head-timing-info: old-timing-info: head results: libxklavier-5.4/libxklavier/xklavier_config_iso.c:212:16: debug: Scope::checkVariable found variable 'value' with varid 0. [varid0] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:438:19: style:inconclusive: Function 'xkl_xkb_config_native_prepare' argument 3 names different: declaration 'component_names' definition 'componentNamesPtr'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private_xkb.h:132:21: note: Function 'xkl_xkb_config_native_prepare' argument 3 names different: declaration 'component_names' definition 'componentNamesPtr'. libxklavier-5.4/libxklavier/xklavier_config_xkb.c:438:19: note: Function 'xkl_xkb_config_native_prepare' argument 3 names different: declaration 'component_names' definition 'componentNamesPtr'. libxklavier-5.4/libxklavier/xklavier_config_xkb.c:445:19: style:inconclusive: Function 'xkl_xkb_config_native_cleanup' argument 2 names different: declaration 'component_names' definition 'component_names_ptr'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private_xkb.h:135:17: note: Function 'xkl_xkb_config_native_cleanup' argument 2 names different: declaration 'component_names' definition 'component_names_ptr'. libxklavier-5.4/libxklavier/xklavier_config_xkb.c:445:19: note: Function 'xkl_xkb_config_native_cleanup' argument 2 names different: declaration 'component_names' definition 'component_names_ptr'. libxklavier-5.4/libxklavier/xklavier_config_xkb.c:90:50: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:436:43: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:438:19: style: Parameter 'componentNamesPtr' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:444:43: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:445:19: style: Parameter 'component_names_ptr' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:491:41: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_xkb.c:547:46: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config_iso.c:131:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ISO_CODES_PREFIX [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config_iso.c:212:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:94:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:123:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:185:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKLF_REQUIRES_MANUAL_LAYOUT_MANAGEMENT [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:254:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:279:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:441:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:491:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GROUP_CHANGED [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:614:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SubstructureNotifyMask [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:652:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_TYPE_ENGINE [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:725:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XklEnginePrivate [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:830:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_PARAM_CONSTRUCT_ONLY [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config_xmm.c:64:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current_rules [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config_xmm.c:42:50: style: Parameter 'config' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config.c:67:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XML_ELEMENT_NODE [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:95:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XML_TEXT_NODE [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:179:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_EXTRA_ITEM [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:553:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXPATHLEN [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:683:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_ALLOW_MULTIPLE_SELECTION [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:765:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_COUNTRY_LIST [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:792:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_LANGUAGE_LIST [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:829:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_COUNTRY_LIST [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:961:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XCI_PROP_ALLOW_MULTIPLE_SELECTION [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:1021:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKLF_CAN_OUTPUT_CONFIG_AS_ASCII [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:1065:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_TYPE_CONFIG_REGISTRY [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:1084:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XklConfigRegistryPrivate [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_config.c:1177:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_PARAM_READWRITE [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier.c:652:3: warning: Return value of function g_type_class_peek() is not used. [ignoredReturnValue] libxklavier-5.4/libxklavier/xklavier.c:701:9: style: Condition 'rv==0' is always false [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier.c:689:8: note: Assignment 'rv=-1', assigned value is -1 libxklavier-5.4/libxklavier/xklavier.c:701:9: note: Condition 'rv==0' is always false libxklavier-5.4/libxklavier/xklavier.c:521:4: error: Null pointer dereference: p [nullPointer] libxklavier-5.4/libxklavier/xklavier.c:520:7: note: Assignment 'p=NULL', assigned value is 0 libxklavier-5.4/libxklavier/xklavier.c:521:4: note: Null pointer dereference libxklavier-5.4/libxklavier/xklavier.c:218:35: style: Parameter 'display' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier.c:479:22: style: Parameter 'old_state' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier.c:514:45: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier.c:729:35: style: Parameter 'object' can be declared as pointer to const. However it seems that 'xkl_engine_set_property' is a callback function, if 'object' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier.c:824:31: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier.c:729:35: note: Parameter 'object' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier.c:731:39: style: Parameter 'pspec' can be declared as pointer to const. However it seems that 'xkl_engine_set_property' is a callback function, if 'pspec' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier.c:824:31: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier.c:731:39: note: Parameter 'pspec' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_evt_xkb.c:51:37: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt_xkb.c:51:54: style: Parameter 'xev' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt_xkb.c:171:37: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt_xkb.c:171:59: style: Parameter 'xerev' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt_xkb.c:188:36: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt.c:152:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt.c:333:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NotifyNormal [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt.c:397:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PropertyNewValue [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt.c:466:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PropertyChangeMask [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt.c:563:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GROUP_CHANGED [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:51:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable layouts [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:66:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable state_atom [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:151:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_Num_Lock [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:90:35: style:inconclusive: Boolean expression '(engine)->priv->listener_type_counters[XKLL_MANAGE_WINDOW_STATES_OFFSET]>0' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:119:54: style:inconclusive: Function 'xkl_xmm_process_x_event' argument 2 names different: declaration 'kev' definition 'xev'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private_xmm.h:83:66: note: Function 'xkl_xmm_process_x_event' argument 2 names different: declaration 'kev' definition 'xev'. libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:119:54: note: Function 'xkl_xmm_process_x_event' argument 2 names different: declaration 'kev' definition 'xev'. libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:31:71: style: Parameter 'kpe' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:145:11: style: Variable 'kcmap' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_evt.c:425:35: style:inconclusive: Boolean expression '(engine)->priv->listener_type_counters[XKLL_MANAGE_WINDOW_STATES_OFFSET]>0' is used in bitwise operation. Did you mean '||'? [bitwiseOnBoolean] libxklavier-5.4/libxklavier/xklavier_props.c:68:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_MAX_CI_SHORT_DESC_LENGTH [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_props.c:84:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_MAX_CI_DESC_LENGTH [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_props.c:100:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_MAX_CI_NAME_LENGTH [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_props.c:165:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKB_DEFAULT_RULESET [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_props.c:360:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable None [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_props.c:559:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_STRING [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_evt.c:371:70: style:inconclusive: Function 'xkl_engine_process_property_evt' argument 2 names different: declaration 'rev' definition 'pev'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private.h:284:27: note: Function 'xkl_engine_process_property_evt' argument 2 names different: declaration 'rev' definition 'pev'. libxklavier-5.4/libxklavier/xklavier_evt.c:371:70: note: Function 'xkl_engine_process_property_evt' argument 2 names different: declaration 'rev' definition 'pev'. libxklavier-5.4/libxklavier/xklavier_evt.c:556:16: style:inconclusive: Function 'xkl_engine_process_state_modification' argument 3 names different: declaration 'group' definition 'grp'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private.h:292:27: note: Function 'xkl_engine_process_state_modification' argument 3 names different: declaration 'group' definition 'grp'. libxklavier-5.4/libxklavier/xklavier_evt.c:556:16: note: Function 'xkl_engine_process_state_modification' argument 3 names different: declaration 'group' definition 'grp'. libxklavier-5.4/libxklavier/xklavier_evt.c:557:20: style:inconclusive: Function 'xkl_engine_process_state_modification' argument 5 names different: declaration 'set_indicators' definition 'set_inds'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private.h:294:18: note: Function 'xkl_engine_process_state_modification' argument 5 names different: declaration 'set_indicators' definition 'set_inds'. libxklavier-5.4/libxklavier/xklavier_evt.c:557:20: note: Function 'xkl_engine_process_state_modification' argument 5 names different: declaration 'set_indicators' definition 'set_inds'. libxklavier-5.4/libxklavier/xklavier_toplevel.c:49:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:102:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKL_TYPE_ENGINE [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:194:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:224:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PointerRoot [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:304:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:367:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_toplevel.c:388:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XA_INTEGER [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:34:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XklState [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:64:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PointerRoot [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:169:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:227:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable None [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:261:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Success [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:289:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FirstExtensionError [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:331:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KeyPress [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_util.c:30:28: style: Parameter 'state' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config.c:1065:3: warning: Return value of function g_type_class_peek() is not used. [ignoredReturnValue] libxklavier-5.4/libxklavier/xklavier_config.c:557:9: style: Condition 'rf==NULL' is always false [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier_toplevel.c:308:9: warning: Either the condition 'prop!=NULL' is redundant or there is possible null pointer dereference: prop. [nullPointerRedundantCheck] libxklavier-5.4/libxklavier/xklavier_toplevel.c:318:12: note: Assuming that condition 'prop!=NULL' is not redundant libxklavier-5.4/libxklavier/xklavier_toplevel.c:308:9: note: Null pointer dereference libxklavier-5.4/libxklavier/xklavier_toplevel.c:312:10: warning: Either the condition 'prop!=NULL' is redundant or there is possible null pointer dereference: prop. [nullPointerRedundantCheck] libxklavier-5.4/libxklavier/xklavier_toplevel.c:318:12: note: Assuming that condition 'prop!=NULL' is not redundant libxklavier-5.4/libxklavier/xklavier_toplevel.c:312:10: note: Null pointer dereference libxklavier-5.4/libxklavier/xklavier_toplevel.c:67:59: style:inconclusive: Function 'xkl_engine_add_toplevel_window' argument 2 names different: declaration 'win' definition 'toplevel_win'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private.h:311:71: note: Function 'xkl_engine_add_toplevel_window' argument 2 names different: declaration 'win' definition 'toplevel_win'. libxklavier-5.4/libxklavier/xklavier_toplevel.c:67:59: note: Function 'xkl_engine_add_toplevel_window' argument 2 names different: declaration 'win' definition 'toplevel_win'. libxklavier-5.4/libxklavier/xklavier_toplevel.c:69:20: style:inconclusive: Function 'xkl_engine_add_toplevel_window' argument 4 names different: declaration 'force' definition 'ignore_existing_state'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private.h:312:33: note: Function 'xkl_engine_add_toplevel_window' argument 4 names different: declaration 'force' definition 'ignore_existing_state'. libxklavier-5.4/libxklavier/xklavier_toplevel.c:69:20: note: Function 'xkl_engine_add_toplevel_window' argument 4 names different: declaration 'force' definition 'ignore_existing_state'. libxklavier-5.4/libxklavier/xklavier_toplevel.c:160:10: style: Variable 'parent' is assigned a value that is never used. [unreadVariable] libxklavier-5.4/libxklavier/xklavier_config.c:94:9: style: Variable 'node_name' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_config.c:498:46: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config.c:555:9: style: Variable 'rf' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_config.c:1035:49: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config.c:1088:44: style: Parameter 'object' can be declared as pointer to const. However it seems that 'xkl_config_registry_set_property' is a callback function, if 'object' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_config.c:1170:31: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_config.c:1088:44: note: Parameter 'object' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_config.c:1090:41: style: Parameter 'pspec' can be declared as pointer to const. However it seems that 'xkl_config_registry_set_property' is a callback function, if 'pspec' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_config.c:1170:31: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_config.c:1090:41: note: Parameter 'pspec' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_config.c:1099:21: style: Variable 'config' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_props.c:137:24: style: Condition 'p2!=NULL' is always true [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier_props.c:148:32: style: Condition 'items2!=NULL' is always true [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier_props.c:397:6: style: Condition 'out' is always true [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier_props.c:449:20: style: Condition '*variant!=NULL' is always false [knownConditionTrueFalse] libxklavier-5.4/libxklavier/xklavier_props.c:439:38: note: Assuming that condition '*variant==NULL' is not redundant libxklavier-5.4/libxklavier/xklavier_props.c:449:20: note: Condition '*variant!=NULL' is always false libxklavier-5.4/libxklavier/xklavier_config.c:1189:6: warning: Division by result of sizeof(). g_malloc0_n() expects a size in bytes, did you intend to multiply instead? [sizeofDivisionMemfunc] libxklavier-5.4/libxklavier/xklavier_config.c:1193:6: warning: Division by result of sizeof(). g_malloc0_n() expects a size in bytes, did you intend to multiply instead? [sizeofDivisionMemfunc] libxklavier-5.4/libxklavier/xklavier_props.c:40:38: style: Parameter 'this' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:45:49: style: Parameter 'klass' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:58:42: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:74:55: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:90:49: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:133:27: style: Parameter 'p1' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:133:39: style: Parameter 'p2' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_props.c:440:11: style: Variable 'varstart' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_props.c:442:12: style: Variable 'varend' can be declared as pointer to const [constVariablePointer] libxklavier-5.4/libxklavier/xklavier_props.c:479:17: style: Parameter 'rules_file' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_config.c:679:30: style: Variable 'allow_multisel' is assigned a value that is never used. [unreadVariable] libxklavier-5.4/libxklavier/xklavier_config.c:864:22: style: Variable 'upper_name' is allocated memory that is never used. [unusedAllocatedMemory] libxklavier-5.4/libxklavier/xklavier_xkb.c:657:26: style: Parameter 'engine' can be declared as pointer to const [constParameterPointer] libxklavier-5.4/libxklavier/xklavier_xmm.c:41:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable layouts [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:62:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_VoidSymbol [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:83:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_VoidSymbol [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:105:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable switch_options [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:114:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable options [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:136:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XK_VoidSymbol [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:176:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable layouts [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:187:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current_rules [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:207:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current_rules [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:231:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable state_atom [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:264:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable layouts [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:292:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PropModeReplace [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:310:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XKLF_MULTIPLE_LAYOUTS_SUPPORTED [valueFlowBailoutIncompleteVar] libxklavier-5.4/tests/test_config.c:55:61: error: There is an unknown macro here somewhere. Configuration is required. If PACKAGE is a macro then please configure it. [unknownMacro] libxklavier-5.4/tests/test_monitor.c:54:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INDICATORS_CHANGED [valueFlowBailoutIncompleteVar] libxklavier-5.4/tests/test_monitor.c:103:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_TYPE_DEBUG_OBJECTS [valueFlowBailoutIncompleteVar] libxklavier-5.4/libxklavier/xklavier_xmm.c:130:27: style:inconclusive: Function 'xkl_xmm_find_switch_option' argument 4 names different: declaration 'current_shortcut_out' definition 'current_shortcut_rv'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private_xmm.h:68:9: note: Function 'xkl_xmm_find_switch_option' argument 4 names different: declaration 'current_shortcut_out' definition 'current_shortcut_rv'. libxklavier-5.4/libxklavier/xklavier_xmm.c:130:27: note: Function 'xkl_xmm_find_switch_option' argument 4 names different: declaration 'current_shortcut_out' definition 'current_shortcut_rv'. libxklavier-5.4/libxklavier/xklavier_xmm.c:217:57: style:inconclusive: Function 'xkl_xmm_get_server_state' argument 2 names different: declaration 'current_state_out' definition 'state'. [funcArgNamesDifferent] libxklavier-5.4/libxklavier/xklavier_private_xmm.h:96:21: note: Function 'xkl_xmm_get_server_state' argument 2 names different: declaration 'current_state_out' definition 'state'. libxklavier-5.4/libxklavier/xklavier_xmm.c:217:57: note: Function 'xkl_xmm_get_server_state' argument 2 names different: declaration 'current_state_out' definition 'state'. libxklavier-5.4/libxklavier/xklavier_xmm.c:45:42: style: Parameter 'engine' can be declared as pointer to const. However it seems that 'xkl_xmm_get_indicators_names' is a callback function, if 'engine' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_xmm.c:323:6: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_xmm.c:45:42: note: Parameter 'engine' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_xmm.c:166:40: style: Parameter 'engine' can be declared as pointer to const. However it seems that 'xkl_xmm_get_max_num_groups' is a callback function, if 'engine' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_xmm.c:325:6: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_xmm.c:166:40: note: Parameter 'engine' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_xmm.c:198:50: style: Parameter 'engine' can be declared as pointer to const. However it seems that 'xkl_xmm_if_cached_info_equals_actual' is a callback function, if 'engine' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_xmm.c:333:6: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_xmm.c:198:50: note: Parameter 'engine' can be declared as pointer to const libxklavier-5.4/libxklavier/xklavier_xmm.c:298:36: style: Parameter 'engine' can be declared as pointer to const. However it seems that 'xkl_xmm_set_indicators' is a callback function, if 'engine' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/libxklavier/xklavier_xmm.c:339:44: note: You might need to cast the function pointer here libxklavier-5.4/libxklavier/xklavier_xmm.c:298:36: note: Parameter 'engine' can be declared as pointer to const libxklavier-5.4/tests/test_monitor.c:55:8: style: Local variable 'state' shadows outer variable [shadowVariable] libxklavier-5.4/tests/test_monitor.c:50:12: note: Shadowed declaration libxklavier-5.4/tests/test_monitor.c:55:8: note: Shadow variable libxklavier-5.4/tests/test_monitor.c:85:24: style: Parameter 'engine' can be declared as pointer to const. However it seems that 'new_device' is a callback function, if 'engine' is declared with const you might also need to cast function pointer(s). [constParameterCallback] libxklavier-5.4/tests/test_monitor.c:163:3: note: You might need to cast the function pointer here libxklavier-5.4/tests/test_monitor.c:85:24: note: Parameter 'engine' can be declared as pointer to const diff: head libxklavier-5.4/libxklavier/xklavier_evt_xmm.c:145:11: style: Variable 'kcmap' can be declared as pointer to const [constVariablePointer] DONE