2025-05-07 23:53 ftp://ftp.de.debian.org/debian/pool/main/s/sidplay/sidplay_2.0.9.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-59-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: ebc80c0 (2025-05-07 18:59:31 +0200) count: 64 64 elapsed-time: 24.3 25.2 head-timing-info: old-timing-info: head results: sidplay-2.0.9/src/IniConfig.cpp:107:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SID2_DEFAULT_SAMPLING_FREQ [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/IniConfig.cpp:302:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sid2_mono [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/IniConfig.cpp:325:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SID2_CLOCK_PAL [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/IniConfig.cpp:452:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SID2_MOS8580 [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/IniConfig.cpp:123:17: performance:inconclusive: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:101:11: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:123:17: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:137:17: performance:inconclusive: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:102:11: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:137:17: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:168:17: performance:inconclusive: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:103:11: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:168:17: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.h:117:5: style:inconclusive: Technically the member function 'IniConfig::operatorbool' can be const. [functionConst] sidplay-2.0.9/src/IniConfig.h:120:30: style:inconclusive: Technically the member function 'IniConfig::sidplay2' can be const. [functionConst] sidplay-2.0.9/src/IniConfig.h:121:30: style:inconclusive: Technically the member function 'IniConfig::console' can be const. [functionConst] sidplay-2.0.9/src/IniConfig.h:122:30: style:inconclusive: Technically the member function 'IniConfig::audio' can be const. [functionConst] sidplay-2.0.9/src/IniConfig.h:123:30: style:inconclusive: Technically the member function 'IniConfig::emulation' can be const. [functionConst] sidplay-2.0.9/src/IniConfig.cpp:151:11: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/IniConfig.cpp:388:20: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/IniConfig.cpp:394:16: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/IniConfig.cpp:400:18: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/IniConfig.cpp:209:57: style:inconclusive: Function 'readTime' argument 3 names different: declaration 'time' definition 'value'. [funcArgNamesDifferent] sidplay-2.0.9/src/IniConfig.h:105:54: note: Function 'readTime' argument 3 names different: declaration 'time' definition 'value'. sidplay-2.0.9/src/IniConfig.cpp:209:57: note: Function 'readTime' argument 3 names different: declaration 'time' definition 'value'. sidplay-2.0.9/src/args.cpp:186:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sid2_envBS [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/args.cpp:513:0: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/args.cpp:568:0: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cout [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.h:219:20: style:inconclusive: Either there is a missing 'override', or the member function 'ConsolePlayer::state' can be const. [functionConst] sidplay-2.0.9/src/player.h:211:5: style: Class 'ConsolePlayer' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] sidplay-2.0.9/src/audio/null/null.h:54:6: style: The destructor '~Audio_Null' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:55:14: note: Virtual destructor in base class sidplay-2.0.9/src/audio/null/null.h:54:6: note: Destructor in derived class sidplay-2.0.9/src/audio/null/null.h:56:11: style: The function 'open' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:58:19: note: Virtual function in base class sidplay-2.0.9/src/audio/null/null.h:56:11: note: Function in derived class sidplay-2.0.9/src/audio/null/null.h:57:11: style: The function 'close' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:64:19: note: Virtual function in base class sidplay-2.0.9/src/audio/null/null.h:57:11: note: Function in derived class sidplay-2.0.9/src/audio/null/null.h:58:11: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:62:19: note: Virtual function in base class sidplay-2.0.9/src/audio/null/null.h:58:11: note: Function in derived class sidplay-2.0.9/src/audio/null/null.h:59:11: style: The function 'write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:63:19: note: Virtual function in base class sidplay-2.0.9/src/audio/null/null.h:59:11: note: Function in derived class sidplay-2.0.9/src/audio/null/null.h:60:11: style: The function 'pause' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:65:19: note: Virtual function in base class sidplay-2.0.9/src/audio/null/null.h:60:11: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:96:11: style: The function 'open' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:58:19: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:96:11: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:103:11: style: The function 'write' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:63:19: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:103:11: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:104:11: style: The function 'close' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:64:19: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:104:11: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:105:11: style: The function 'pause' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:65:19: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:105:11: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:106:17: style: The function 'extension' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:66:25: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:106:17: note: Function in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:107:6: style: The destructor '~WavFile' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:55:14: note: Virtual destructor in base class sidplay-2.0.9/src/audio/wav/WavFile.h:107:6: note: Destructor in derived class sidplay-2.0.9/src/audio/wav/WavFile.h:110:11: style: The function 'reset' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] sidplay-2.0.9/src/audio/AudioBase.h:62:19: note: Virtual function in base class sidplay-2.0.9/src/audio/wav/WavFile.h:110:11: note: Function in derived class sidplay-2.0.9/src/audio/null/null.cpp:115:15: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/audio/wav/WavFile.cpp:135:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable out [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/audio/wav/WavFile.cpp:184:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable beg [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/audio/wav/WavFile.cpp:83:10: warning: Member variable 'WavFile::byteCount' is not initialized in the constructor. [uninitMemberVar] sidplay-2.0.9/src/audio/wav/WavFile.cpp:159:24: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/audio/wav/WavFile.cpp:173:20: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/audio/wav/WavFile.cpp:185:20: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/audio/wav/WavFile.cpp:188:19: style: C-style pointer casting [cstyleCast] sidplay-2.0.9/src/keyboard.cpp:189:17: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] sidplay-2.0.9/src/main.cpp:152:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_ERR [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/main.cpp:214:0: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/menu.cpp:89:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ansi [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/menu.cpp:354:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ansi [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/menu.cpp:386:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/menu.cpp:417:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ansi [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/menu.cpp:356:15: style: Variable 'mode' can be declared as pointer to const [constVariablePointer] sidplay-2.0.9/src/player.cpp:180:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SID2_CLOCK_PAL [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:296:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sid2_stereo [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:437:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:516:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:567:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sid2_stopped [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:639:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:689:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:755:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cerr [valueFlowBailoutIncompleteVar] sidplay-2.0.9/src/player.cpp:493:26: style:inconclusive: Boolean expression 'm_timer.start>=m_timer.stop' is used in bitwise operation. Did you mean '&&'? [bitwiseOnBoolean] sidplay-2.0.9/src/player.cpp:539:21: style:inconclusive: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. [functionConst] sidplay-2.0.9/src/player.h:207:10: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. sidplay-2.0.9/src/player.cpp:539:21: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. sidplay-2.0.9/src/player.cpp:325:31: style: The statement 'if (m_engCfg.playback!=sid2_stereo) m_engCfg.playback=sid2_stereo' is logically equivalent to 'm_engCfg.playback=sid2_stereo'. [duplicateConditionalAssign] sidplay-2.0.9/src/player.cpp:326:32: note: Assignment 'm_engCfg.playback=sid2_stereo' sidplay-2.0.9/src/player.cpp:325:31: note: Condition 'm_engCfg.playback!=sid2_stereo' is redundant sidplay-2.0.9/src/player.cpp:696:9: style: The scope of the variable 'action' can be reduced. [variableScope] sidplay-2.0.9/src/player.cpp:422:1: style: Label 'createSidEmu_error' is not used. [unusedLabel] diff: head sidplay-2.0.9/src/IniConfig.cpp:123:17: performance:inconclusive: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:101:11: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:123:17: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). head sidplay-2.0.9/src/IniConfig.cpp:137:17: performance:inconclusive: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:102:11: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:137:17: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). head sidplay-2.0.9/src/IniConfig.cpp:168:17: performance:inconclusive: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.h:103:11: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.cpp:168:17: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). 2.17.0 sidplay-2.0.9/src/IniConfig.h:101:11: performance:inconclusive: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.cpp:123:17: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.h:101:11: note: Technically the member function 'IniConfig::readInt' can be static (but you may consider moving to unnamed namespace). 2.17.0 sidplay-2.0.9/src/IniConfig.h:102:11: performance:inconclusive: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.cpp:137:17: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.h:102:11: note: Technically the member function 'IniConfig::readString' can be static (but you may consider moving to unnamed namespace). 2.17.0 sidplay-2.0.9/src/IniConfig.h:103:11: performance:inconclusive: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). [functionStatic] sidplay-2.0.9/src/IniConfig.cpp:168:17: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). sidplay-2.0.9/src/IniConfig.h:103:11: note: Technically the member function 'IniConfig::readBool' can be static (but you may consider moving to unnamed namespace). head sidplay-2.0.9/src/player.cpp:539:21: style:inconclusive: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. [functionConst] sidplay-2.0.9/src/player.h:207:10: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. sidplay-2.0.9/src/player.cpp:539:21: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. 2.17.0 sidplay-2.0.9/src/player.h:207:10: style:inconclusive: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. [functionConst] sidplay-2.0.9/src/player.cpp:539:21: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. sidplay-2.0.9/src/player.h:207:10: note: Either there is a missing 'override', or the member function 'ConsolePlayer::emuflush' can be const. DONE