2024-04-14 19:49 ftp://ftp.de.debian.org/debian/pool/main/b/bloboats/bloboats_1.0.2+dfsg.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning -D__GNUC__ --platform=unix64 -j1 platform: Linux-5.15.0-102-generic-x86_64-with-glibc2.35 python: 3.10.12 client-version: 1.3.56 compiler: g++ (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 cppcheck: head 2.13.0 head-info: 01c049d (2024-04-13 21:28:19 +0200) count: 604 528 elapsed-time: 18.6 37.4 head-timing-info: old-timing-info: head results: bloboats-1.0.2+dfsg/src/compat.cpp:97:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/compat.cpp:111:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/compat.cpp:120:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/compat.cpp:134:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/compat.cpp:244:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/compat.cpp:64:19: warning:inconclusive: Logical disjunction always evaluates to true: str[i] >= '0' || str[i] <= '9'. [incorrectLogicOperator] bloboats-1.0.2+dfsg/src/compat.cpp:23:21: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/compat.cpp:25:10: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/compat.cpp:23:21: portability:inconclusive: Casting from double * to unsigned char * is not portable due to different binary data representations on different platforms. [invalidPointerCast] bloboats-1.0.2+dfsg/src/compat.cpp:25:10: portability: Casting between unsigned char * and double * which have an incompatible binary data representation. [invalidPointerCast] bloboats-1.0.2+dfsg/src/compat.cpp:62:8: style: Redundant initialization for 'i'. The initialized value is overwritten before it is read. [redundantInitialization] bloboats-1.0.2+dfsg/src/compat.cpp:57:7: note: i is initialized bloboats-1.0.2+dfsg/src/compat.cpp:62:8: note: i is overwritten bloboats-1.0.2+dfsg/src/compat.cpp:115:8: style: Redundant assignment of '*data' to itself. [selfAssignment] bloboats-1.0.2+dfsg/src/compat.cpp:124:8: style: Redundant assignment of '*data' to itself. [selfAssignment] bloboats-1.0.2+dfsg/src/compat.cpp:129:7: style: Redundant assignment of 'data' to itself. [selfAssignment] bloboats-1.0.2+dfsg/src/compat.cpp:194:6: style: The scope of the variable 'r' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/compat.cpp:28:27: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:56:29: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:76:40: style: Parameter 'filepath' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:76:56: style: Parameter 'extension' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:82:32: style: Parameter 'f' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:143:31: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:181:57: style: Parameter 'str2' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:205:35: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:259:40: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/compat.cpp:194:7: style: Variable 'r' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/config.cpp:57:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::reswidth' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::resheight' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::decoration' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::showghost' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::currentplayer' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::sounds' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::music' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::keys' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::zoomlevel' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::newtimes' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::tux' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::soundvol' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::musicvol' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::fullscreen' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::fps' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:29:9: warning: Member variable 'config::nolimit' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/config.cpp:74:3: warning: %d in format string (no. 1) requires 'int *' but the argument type is 'unsigned int *'. [invalidScanfArgType_int] bloboats-1.0.2+dfsg/src/config.cpp:117:7: warning: %d in format string (no. 1) requires 'int *' but the argument type is 'unsigned int *'. [invalidScanfArgType_int] bloboats-1.0.2+dfsg/src/config.cpp:168:3: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/config.cpp:179:3: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/element.cpp:63:4: style: Redundant assignment of 'p' to itself. [selfAssignment] bloboats-1.0.2+dfsg/src/element.cpp:50:30: style:inconclusive: Function 'get' argument 1 names different: declaration 'c' definition 'ghostdat'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/element.h:33:22: note: Function 'get' argument 1 names different: declaration 'c' definition 'ghostdat'. bloboats-1.0.2+dfsg/src/element.cpp:50:30: note: Function 'get' argument 1 names different: declaration 'c' definition 'ghostdat'. bloboats-1.0.2+dfsg/src/font.cpp:56:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/font.cpp:70:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/font.cpp:111:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/font.h:48:8: style:inconclusive: Technically the member function 'font::Deinitialize' can be const. [functionConst] bloboats-1.0.2+dfsg/src/font.cpp:64:12: note: Technically the member function 'font::Deinitialize' can be const. bloboats-1.0.2+dfsg/src/font.h:48:8: note: Technically the member function 'font::Deinitialize' can be const. bloboats-1.0.2+dfsg/src/font.cpp:110:27: style:inconclusive: Function 'WriteChar' argument 1 names different: declaration 'str' definition 'chr'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/font.h:50:23: note: Function 'WriteChar' argument 1 names different: declaration 'str' definition 'chr'. bloboats-1.0.2+dfsg/src/font.cpp:110:27: note: Function 'WriteChar' argument 1 names different: declaration 'str' definition 'chr'. bloboats-1.0.2+dfsg/src/font.cpp:68:30: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/font.cpp:41:6: style: Variable 'i' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:283:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_ESCAPE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::stime' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::nextframe' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::t' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::omx' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::omy' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::mx' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::my' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::goalr' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::recelement' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::ghostalpha' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.cpp:52:7: warning: Member variable 'game::ghostelement' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/game.h:69:7: performance:inconclusive: Technically the member function 'game::focus' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/game.cpp:166:12: note: Technically the member function 'game::focus' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/game.h:69:7: note: Technically the member function 'game::focus' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/broken.h:60:9: warning: The class 'broken' defines member variable with name 'texID' also defined in its parent class 'model'. [duplInheritedMember] bloboats-1.0.2+dfsg/src/model.h:108:9: note: Parent variable 'model::texID' bloboats-1.0.2+dfsg/src/models/broken.h:60:9: note: Derived variable 'broken::texID' bloboats-1.0.2+dfsg/src/model.h:43:2: style: Class 'model' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bloboats-1.0.2+dfsg/src/models/broken.h:37:2: style: Class 'broken' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bloboats-1.0.2+dfsg/src/models/paatti.h:35:3: style: The destructor '~paatti' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/paatti.h:35:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:37:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:37:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:39:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:39:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:40:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:40:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:43:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:43:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:44:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:44:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:46:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:47:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:47:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/paatti.h:49:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/paatti.h:49:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:40:3: style: The destructor '~hirvio' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:40:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:42:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:42:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:43:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:43:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:46:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:47:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:47:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:50:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:50:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:52:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:52:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:60:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:60:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:61:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:61:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:63:7: style: The function 'updatewalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:82:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:63:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/hirvio.h:64:7: style: The function 'checkwalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:83:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:64:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:40:3: style: The destructor '~invader' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/invader.h:40:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/invader.h:42:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:42:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:43:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:43:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:45:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:45:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:46:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:48:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:48:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:50:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:50:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:52:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:52:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:53:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:53:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:55:7: style: The function 'updatewalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:82:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:55:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:56:7: style: The function 'checkwalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:83:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:56:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/invader.h:58:7: style: The function 'display' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:54:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/invader.h:58:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:38:3: style: The destructor '~broken' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/broken.h:38:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/broken.h:40:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:40:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:41:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:41:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:43:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:43:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:44:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:44:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:46:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:48:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:48:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:51:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:51:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/broken.h:52:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/broken.h:52:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:33:3: style: The destructor '~boulder' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/boulder.h:33:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:35:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:35:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:36:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:36:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:40:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:40:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:41:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:41:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:44:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:44:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:46:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:48:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:48:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:49:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:49:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:51:7: style: The function 'updatewalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:82:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:51:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:52:7: style: The function 'checkwalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:83:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:52:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:54:7: style: The function 'display' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:54:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:54:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:56:7: style: The function 'springs_act' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:51:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:56:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/boulder.h:57:7: style: The function 'particles_act' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:52:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/boulder.h:57:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:33:3: style: The destructor '~tux' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/tux.h:33:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/tux.h:35:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:35:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:36:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:36:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:40:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:40:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:41:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:41:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:44:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:44:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:46:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:46:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:48:8: style: The function 'getdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:79:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:48:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:49:8: style: The function 'getwaterdamage' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:80:16: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:49:8: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:51:7: style: The function 'updatewalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:82:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:51:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:52:7: style: The function 'checkwalls' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:83:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:52:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:54:7: style: The function 'display' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:54:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:54:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:56:7: style: The function 'springs_act' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:51:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:56:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/tux.h:57:7: style: The function 'particles_act' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:52:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/tux.h:57:7: note: Function in derived class bloboats-1.0.2+dfsg/src/game.cpp:1100:27: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/game.cpp:540:8: style: Variable 'p' is reassigned a value before the old one has been used. [redundantAssignment] bloboats-1.0.2+dfsg/src/game.cpp:533:23: note: p is assigned bloboats-1.0.2+dfsg/src/game.cpp:540:8: note: p is overwritten bloboats-1.0.2+dfsg/src/game.cpp:570:9: style: Variable 'p' is reassigned a value before the old one has been used. [redundantAssignment] bloboats-1.0.2+dfsg/src/game.cpp:563:24: note: p is assigned bloboats-1.0.2+dfsg/src/game.cpp:570:9: note: p is overwritten bloboats-1.0.2+dfsg/src/game.cpp:881:8: style: The scope of the variable 'closestp' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:882:8: style: The scope of the variable 'closests' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:883:8: style: The scope of the variable 'closestw' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:884:8: style: The scope of the variable 'closestside' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:885:8: style: The scope of the variable 'closesttype' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:1060:9: style: The scope of the variable 'text2' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/game.cpp:1088:8: style: Local variable 'mp' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/game.cpp:258:6: note: Shadowed declaration bloboats-1.0.2+dfsg/src/game.cpp:1088:8: note: Shadow variable bloboats-1.0.2+dfsg/src/game.cpp:244:14: style: Variable 'recdat' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:248:16: style: Variable 'ghostdat' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:405:12: style: Variable 'p' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:406:12: style: Variable 'v' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:788:12: style: Variable 'd' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:245:8: style: Variable 'oldrecdat' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:246:9: style: Variable 'nullframes' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:249:8: style: Variable 'newghostdat' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:250:9: style: Variable 'gnull' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:256:6: style: Variable 'fpsframes' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:263:7: style: Variable 'tentacledeath' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/game.cpp:1061:9: style: Unused variable: text3 [unusedVariable] bloboats-1.0.2+dfsg/src/game.cpp:81:50: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:653:59: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:681:60: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:731:60: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:787:59: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:1043:58: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/game.cpp:1094:58: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/graphics.cpp:44:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:86:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_SRCCOLORKEY [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:114:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:129:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:225:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:258:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.cpp:303:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_COLOR_BUFFER_BIT [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/graphics.h:43:17: performance:inconclusive: Technically the member function 'graphics::LoadPicture' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:39:25: note: Technically the member function 'graphics::LoadPicture' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:43:17: note: Technically the member function 'graphics::LoadPicture' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:45:8: performance:inconclusive: Technically the member function 'graphics::DrawIMG' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:64:16: note: Technically the member function 'graphics::DrawIMG' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:45:8: note: Technically the member function 'graphics::DrawIMG' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:46:8: performance:inconclusive: Technically the member function 'graphics::DrawPartOfIMG' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:72:16: note: Technically the member function 'graphics::DrawPartOfIMG' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:46:8: note: Technically the member function 'graphics::DrawPartOfIMG' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:49:8: performance:inconclusive: Technically the member function 'graphics::RemoveTransparentColor' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:89:16: note: Technically the member function 'graphics::RemoveTransparentColor' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:49:8: note: Technically the member function 'graphics::RemoveTransparentColor' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:50:10: performance:inconclusive: Technically the member function 'graphics::MapRGB' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:93:18: note: Technically the member function 'graphics::MapRGB' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:50:10: note: Technically the member function 'graphics::MapRGB' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:51:8: performance:inconclusive: Technically the member function 'graphics::GetRGB' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:97:16: note: Technically the member function 'graphics::GetRGB' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:51:8: note: Technically the member function 'graphics::GetRGB' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:53:8: performance:inconclusive: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:101:16: note: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:53:8: note: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:54:8: performance:inconclusive: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:107:16: note: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:54:8: note: Technically the member function 'graphics::PutPixel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:56:8: performance:inconclusive: Technically the member function 'graphics::DrawLine' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:113:16: note: Technically the member function 'graphics::DrawLine' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:56:8: note: Technically the member function 'graphics::DrawLine' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:57:8: performance:inconclusive: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:124:16: note: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:57:8: note: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:59:8: performance:inconclusive: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:168:16: note: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:59:8: note: Technically the member function 'graphics::DrawTextured' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:61:8: performance:inconclusive: Technically the member function 'graphics::DrawSolid' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:181:16: note: Technically the member function 'graphics::DrawSolid' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:61:8: note: Technically the member function 'graphics::DrawSolid' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:62:8: performance:inconclusive: Technically the member function 'graphics::OutlineTriangle' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:187:16: note: Technically the member function 'graphics::OutlineTriangle' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:62:8: note: Technically the member function 'graphics::OutlineTriangle' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:67:7: performance:inconclusive: Technically the member function 'graphics::projectx' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:197:15: note: Technically the member function 'graphics::projectx' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:67:7: note: Technically the member function 'graphics::projectx' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:68:7: performance:inconclusive: Technically the member function 'graphics::projecty' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:201:15: note: Technically the member function 'graphics::projecty' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:68:7: note: Technically the member function 'graphics::projecty' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:70:10: performance:inconclusive: Technically the member function 'graphics::backprojectx' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:205:18: note: Technically the member function 'graphics::backprojectx' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:70:10: note: Technically the member function 'graphics::backprojectx' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:71:10: performance:inconclusive: Technically the member function 'graphics::backprojecty' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:209:18: note: Technically the member function 'graphics::backprojecty' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:71:10: note: Technically the member function 'graphics::backprojecty' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:80:8: performance:inconclusive: Technically the member function 'graphics::clear' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/graphics.cpp:302:16: note: Technically the member function 'graphics::clear' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.h:80:8: note: Technically the member function 'graphics::clear' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/graphics.cpp:103:5: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/graphics.cpp:109:5: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/graphics.cpp:297:18: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/graphics.cpp:108:29: style: Unsigned expression 'p' can't be negative so it is unnecessary to test it. [unsignedPositive] bloboats-1.0.2+dfsg/src/graphics.cpp:64:63: style: Parameter 'img' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/graphics.cpp:72:69: style: Parameter 'img' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/graphics.cpp:93:38: style: Parameter 'image' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/graphics.cpp:281:34: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/graphics.cpp:295:58: performance: Prefer prefix ++/-- operators for non-primitive types. [postfixOperator] bloboats-1.0.2+dfsg/src/keyboard.cpp:35:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:55:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:88:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_KEYDOWN [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:97:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:116:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:122:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:137:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:201:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_NUMLOCK [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:234:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:243:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:27:11: warning: Member variable 'keyboard::keys' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:27:11: warning: Member variable 'keyboard::keydown' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/keyboard.cpp:27:11: warning: Member variable 'keyboard::keydouble' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/keyboard.h:43:8: performance:inconclusive: Technically the member function 'keyboard::GotQuit' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/keyboard.cpp:34:16: note: Technically the member function 'keyboard::GotQuit' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/keyboard.h:43:8: note: Technically the member function 'keyboard::GotQuit' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/keyboard.h:63:9: performance:inconclusive: Technically the member function 'keyboard::getkeyname' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/keyboard.cpp:231:17: note: Technically the member function 'keyboard::getkeyname' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/keyboard.h:63:9: note: Technically the member function 'keyboard::getkeyname' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/keyboard.h:64:8: performance:inconclusive: Technically the member function 'keyboard::setkeynames' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/keyboard.cpp:240:16: note: Technically the member function 'keyboard::setkeynames' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/keyboard.h:64:8: note: Technically the member function 'keyboard::setkeynames' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/level.cpp:37:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/level.cpp:46:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/level.cpp:68:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/level.cpp:157:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/level.cpp:195:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/level.cpp:35:8: warning: Member variable 'level::numvertices' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.cpp:44:8: warning: Member variable 'level::numvertices' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.cpp:52:8: warning:inconclusive: Member variable 'level::w' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.cpp:52:8: warning:inconclusive: Member variable 'level::numwalls' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.cpp:52:8: warning:inconclusive: Member variable 'level::waterheight' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.cpp:52:8: warning:inconclusive: Member variable 'level::numvertices' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/level.h:47:7: style:inconclusive: Technically the member function 'level::savelevel' can be const. [functionConst] bloboats-1.0.2+dfsg/src/level.cpp:179:13: note: Technically the member function 'level::savelevel' can be const. bloboats-1.0.2+dfsg/src/level.h:47:7: note: Technically the member function 'level::savelevel' can be const. bloboats-1.0.2+dfsg/src/level.cpp:76:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/level.cpp:82:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/level.cpp:88:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/level.cpp:94:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/level.cpp:100:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/level.cpp:73:6: style: Local variable 'numvertices' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/level.h:61:6: note: Shadowed declaration bloboats-1.0.2+dfsg/src/level.cpp:73:6: note: Shadow variable bloboats-1.0.2+dfsg/src/main.cpp:72:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/canvas.h:49:3: style: The destructor '~canvas' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/canvas.h:49:3: note: Destructor in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:51:7: style: The function 'bendleft' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:61:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:51:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:52:7: style: The function 'bendright' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:62:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:52:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:55:7: style: The function 'stretchup' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:64:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:55:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:56:7: style: The function 'stretchdown' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:65:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:56:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:59:7: style: The function 'strive' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:67:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:59:7: note: Function in derived class bloboats-1.0.2+dfsg/src/models/canvas.h:61:7: style: The function 'update' overrides a function in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:70:15: note: Virtual function in base class bloboats-1.0.2+dfsg/src/models/canvas.h:61:7: note: Function in derived class bloboats-1.0.2+dfsg/src/main.cpp:187:15: style: Variable 's' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/media.cpp:29:8: warning: Member variable 'media::explosion' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:96:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:393:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:516:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:613:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:735:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:893:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:1349:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:1569:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_HWSURFACE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:1738:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:1831:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:1927:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2054:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2187:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2329:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_RETURN [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2462:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2577:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2690:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2711:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2791:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:2987:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sel [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3170:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3206:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3309:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3359:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3468:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:3648:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menu.cpp:920:13: error: Boolean value assigned to pointer. [assignBoolToPointer] bloboats-1.0.2+dfsg/src/menu.cpp:1572:21: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] bloboats-1.0.2+dfsg/src/menu.cpp:2949:15: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::hi_times' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::rank_times' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::levelcount' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::message' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::msgtime' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::lastrecord' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::canvt' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.cpp:50:7: warning: Member variable 'menu::canvalpha' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/menu.h:71:7: style:inconclusive: Technically the member function 'menu::colortime' can be const. [functionConst] bloboats-1.0.2+dfsg/src/menu.cpp:2263:12: note: Technically the member function 'menu::colortime' can be const. bloboats-1.0.2+dfsg/src/menu.h:71:7: note: Technically the member function 'menu::colortime' can be const. bloboats-1.0.2+dfsg/src/menu.h:87:7: performance:inconclusive: Technically the member function 'menu::copylevel' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menu.cpp:3165:12: note: Technically the member function 'menu::copylevel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menu.h:87:7: note: Technically the member function 'menu::copylevel' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menu.h:90:7: performance:inconclusive: Technically the member function 'menu::focuscanvas' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menu.cpp:3254:12: note: Technically the member function 'menu::focuscanvas' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menu.h:90:7: note: Technically the member function 'menu::focuscanvas' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menu.h:104:7: performance:inconclusive: Technically the member function 'menu::selectmusic' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menu.cpp:3598:12: note: Technically the member function 'menu::selectmusic' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menu.h:104:7: note: Technically the member function 'menu::selectmusic' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:45:2: style: Class 'menutext' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bloboats-1.0.2+dfsg/src/menutext.h:46:2: style: Class 'menutext' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] bloboats-1.0.2+dfsg/src/menu.cpp:121:9: style: Condition 'nick' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:383:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:379:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:383:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:506:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:503:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:506:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:603:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:600:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:603:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:1339:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:1335:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:1339:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:1617:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:1614:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:1617:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:1728:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:1725:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:1728:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:1821:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:1818:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:1821:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:1917:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:1914:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:1917:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:2045:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:2042:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:2045:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:2177:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:2174:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:2177:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:2453:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:2450:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:2453:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:2568:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:2565:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:2568:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:3349:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:3346:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:3349:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:3457:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:3454:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:3457:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:3638:9: style: Condition '!ready' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/menu.cpp:3635:13: note: Assignment 'ready=false', assigned value is 0 bloboats-1.0.2+dfsg/src/menu.cpp:3638:9: note: Condition '!ready' is always true bloboats-1.0.2+dfsg/src/menu.cpp:146:9: warning: %d in format string (no. 1) requires 'int *' but the argument type is 'unsigned int *'. [invalidScanfArgType_int] bloboats-1.0.2+dfsg/src/menu.cpp:886:2: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/menu.cpp:961:2: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 1) is smaller than destination buffer 'mdl[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 2) is smaller than destination buffer 'levtex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 3) is smaller than destination buffer 'shiptex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 4) is smaller than destination buffer 'goaltex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 5) is smaller than destination buffer 'groundtex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 6) is smaller than destination buffer 'icetex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 7) is smaller than destination buffer 'tentacletex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 8) is smaller than destination buffer 'invadertex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 9) is smaller than destination buffer 'bouldertex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:978:7: warning:inconclusive: Width 190 given in format string (no. 10) is smaller than destination buffer 'tuxtex[200]'. [invalidScanfFormatWidth_smaller] bloboats-1.0.2+dfsg/src/menu.cpp:1073:2: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/menu.cpp:1297:3: warning: %d in format string (no. 2) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] bloboats-1.0.2+dfsg/src/menu.cpp:1095:9: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] bloboats-1.0.2+dfsg/src/menu.cpp:3294:9: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] bloboats-1.0.2+dfsg/src/menu.cpp:3307:10: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] bloboats-1.0.2+dfsg/src/menu.cpp:693:22: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:1177:19: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:1319:25: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:2307:30: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:2363:22: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:2731:23: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:2742:41: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:3055:7: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:3273:19: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/menu.cpp:1484:10: style: The scope of the variable 'yellow' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/menu.cpp:3231:7: style: The scope of the variable 'str' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/menu.cpp:3286:9: style: The scope of the variable 'u' can be reduced. [variableScope] bloboats-1.0.2+dfsg/src/menu.cpp:879:41: style:inconclusive: Function 'simulate' argument 2 names different: declaration 'record' definition 'replay'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/menu.h:62:36: note: Function 'simulate' argument 2 names different: declaration 'record' definition 'replay'. bloboats-1.0.2+dfsg/src/menu.cpp:879:41: note: Function 'simulate' argument 2 names different: declaration 'record' definition 'replay'. bloboats-1.0.2+dfsg/src/menu.cpp:185:9: style: Local variable 'fp' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/menu.cpp:111:8: note: Shadowed declaration bloboats-1.0.2+dfsg/src/menu.cpp:185:9: note: Shadow variable bloboats-1.0.2+dfsg/src/menu.cpp:1114:7: style: Local variable 'state' shadows outer function [shadowFunction] bloboats-1.0.2+dfsg/src/menu.h:97:6: note: Shadowed declaration bloboats-1.0.2+dfsg/src/menu.cpp:1114:7: note: Shadow variable bloboats-1.0.2+dfsg/src/menu.cpp:1150:14: style: Local variable 'time' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/menu.cpp:1069:9: note: Shadowed declaration bloboats-1.0.2+dfsg/src/menu.cpp:1150:14: note: Shadow variable bloboats-1.0.2+dfsg/src/menu.cpp:1573:15: style: Local variable 'resolution' shadows outer function [shadowFunction] bloboats-1.0.2+dfsg/src/menu.h:64:7: note: Shadowed declaration bloboats-1.0.2+dfsg/src/menu.cpp:1573:15: note: Shadow variable bloboats-1.0.2+dfsg/src/menu.cpp:879:41: style: Parameter 'replay' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/menu.cpp:3165:28: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/menu.cpp:3165:40: style: Parameter 'to' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/menu.cpp:2964:9: performance: Ineffective call of function 'substr' because a prefix of the string is assigned to itself. Use resize() or pop_back() instead. [uselessCallsSubstr] bloboats-1.0.2+dfsg/src/menu.cpp:701:13: style: Variable 'miny' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:702:13: style: Variable 'maxy' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:1112:13: style: Variable 'ready' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:1159:12: style: Variable 'time' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:1571:10: style: Variable 'bpp' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2034:15: style: Variable 'selection' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2271:16: style: Variable 'levels' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2309:16: style: Variable 'selection' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2442:15: style: Variable 'selection' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2557:15: style: Variable 'selection' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2729:12: style: Variable 't1' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2756:13: style: Variable 'miny' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2757:13: style: Variable 'maxy' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2721:7: style: Unused variable: time [unusedVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2722:7: style: Unused variable: nick [unusedVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2983:13: style: Variable 'miny' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:2984:13: style: Variable 'maxy' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:3286:10: style: Variable 'u' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menu.cpp:3287:8: style: Variable 's' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/menutext.cpp:28:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menutext.cpp:41:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menutext.cpp:60:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/menutext.h:60:8: performance:inconclusive: Technically the member function 'menutext::fade' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menutext.cpp:105:17: note: Technically the member function 'menutext::fade' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:60:8: note: Technically the member function 'menutext::fade' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:61:8: performance:inconclusive: Technically the member function 'menutext::wavex' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menutext.cpp:109:17: note: Technically the member function 'menutext::wavex' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:61:8: note: Technically the member function 'menutext::wavex' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:62:8: performance:inconclusive: Technically the member function 'menutext::wavey' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menutext.cpp:112:17: note: Technically the member function 'menutext::wavey' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:62:8: note: Technically the member function 'menutext::wavey' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:63:8: performance:inconclusive: Technically the member function 'menutext::wavez' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/menutext.cpp:115:17: note: Technically the member function 'menutext::wavez' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.h:63:8: note: Technically the member function 'menutext::wavez' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/menutext.cpp:39:27: performance: Function parameter 'txt' should be passed by const reference. [passedByValue] bloboats-1.0.2+dfsg/src/model.cpp:60:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/model.cpp:203:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::p' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::s' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::t' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::numparticles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::numsprings' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::numtriangles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::hardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::hardness_p' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::minhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::maxhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::time' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::radius' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::ugly_r' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::ugly_g' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::ugly_b' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::inwater' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:34:8: warning: Member variable 'model::type' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::p' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::s' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::t' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::numparticles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::numsprings' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::numtriangles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::minhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::maxhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::time' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::radius' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::ugly_r' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::ugly_g' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::ugly_b' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::inwater' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:41:8: warning: Member variable 'model::type' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::p' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::s' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::t' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::numparticles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::numsprings' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::numtriangles' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::hardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::hardness_p' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::minhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::maxhardness' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::time' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::radius' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::ugly_r' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::ugly_g' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::ugly_b' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::inwater' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.cpp:44:8: warning:inconclusive: Member variable 'model::type' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/model.h:85:7: performance:inconclusive: Technically the member function 'model::precision' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/model.cpp:353:13: note: Technically the member function 'model::precision' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/model.h:85:7: note: Technically the member function 'model::precision' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/model.cpp:66:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/model.cpp:73:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/model.cpp:77:3: error: Resource leak: fp [resourceLeak] bloboats-1.0.2+dfsg/src/model.cpp:327:27: warning: Function 'checkgoal' argument order different: declaration 'goal, goalr' definition 'goalr, r' [funcArgOrderDifferent] bloboats-1.0.2+dfsg/src/model.h:77:29: note: Function 'checkgoal' argument order different: declaration 'goal, goalr' definition 'goalr, r' bloboats-1.0.2+dfsg/src/model.cpp:327:27: note: Function 'checkgoal' argument order different: declaration 'goal, goalr' definition 'goalr, r' bloboats-1.0.2+dfsg/src/model.cpp:86:15: style: Unused variable: m [unusedVariable] bloboats-1.0.2+dfsg/src/model_tex.h:33:7: style:inconclusive: Technically the member function 'model_tex::display' can be const. [functionConst] bloboats-1.0.2+dfsg/src/model_tex.cpp:35:17: note: Technically the member function 'model_tex::display' can be const. bloboats-1.0.2+dfsg/src/model_tex.h:33:7: note: Technically the member function 'model_tex::display' can be const. bloboats-1.0.2+dfsg/src/model_tex.h:34:7: style:inconclusive: Technically the member function 'model_tex::display_solid' can be const. [functionConst] bloboats-1.0.2+dfsg/src/model_tex.cpp:43:17: note: Technically the member function 'model_tex::display_solid' can be const. bloboats-1.0.2+dfsg/src/model_tex.h:34:7: note: Technically the member function 'model_tex::display_solid' can be const. bloboats-1.0.2+dfsg/src/model_tex.h:35:7: style:inconclusive: Technically the member function 'model_tex::display_lines' can be const. [functionConst] bloboats-1.0.2+dfsg/src/model_tex.cpp:51:17: note: Technically the member function 'model_tex::display_lines' can be const. bloboats-1.0.2+dfsg/src/model_tex.h:35:7: note: Technically the member function 'model_tex::display_lines' can be const. bloboats-1.0.2+dfsg/src/models/boulder.cpp:51:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/boulder.cpp:198:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/boulder.h:38:7: performance:inconclusive: Technically the member function 'boulder::nobend' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/boulder.cpp:104:15: note: Technically the member function 'boulder::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/boulder.h:38:7: note: Technically the member function 'boulder::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/boulder.h:42:7: performance:inconclusive: Technically the member function 'boulder::nostretch' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/boulder.cpp:113:15: note: Technically the member function 'boulder::nostretch' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/boulder.h:42:7: note: Technically the member function 'boulder::nostretch' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/boulder.cpp:177:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/models/broken.cpp:106:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/broken.cpp:118:11: style: Local variable 'i' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/models/broken.cpp:114:6: note: Shadowed declaration bloboats-1.0.2+dfsg/src/models/broken.cpp:118:11: note: Shadow variable bloboats-1.0.2+dfsg/src/models/broken.cpp:130:11: style: Local variable 'i' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/models/broken.cpp:114:6: note: Shadowed declaration bloboats-1.0.2+dfsg/src/models/broken.cpp:130:11: note: Shadow variable bloboats-1.0.2+dfsg/src/models/broken.cpp:114:7: style: Variable 'i' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/models/canvas.cpp:271:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::a_bend' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::a_stretch' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::a_strive' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::striven' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::n' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:36:9: warning:inconclusive: Member variable 'canvas::m' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/models/canvas.cpp:44:2: performance: Variable 'texpath' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/models/canvas.h:64:7: style:inconclusive: Technically the member function 'canvas::unloadtexture' can be const. [functionConst] bloboats-1.0.2+dfsg/src/models/canvas.cpp:158:14: note: Technically the member function 'canvas::unloadtexture' can be const. bloboats-1.0.2+dfsg/src/models/canvas.h:64:7: note: Technically the member function 'canvas::unloadtexture' can be const. bloboats-1.0.2+dfsg/src/models/canvas.cpp:163:31: style: C-style pointer casting [cstyleCast] bloboats-1.0.2+dfsg/src/models/canvas.cpp:166:11: style: Variable 'dx' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/models/canvas.cpp:167:11: style: Variable 'dy' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/models/hirvio.cpp:57:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/hirvio.cpp:262:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] bloboats-1.0.2+dfsg/src/models/hirvio.h:44:7: performance:inconclusive: Technically the member function 'hirvio::nobend' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/hirvio.cpp:147:14: note: Technically the member function 'hirvio::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/hirvio.h:44:7: note: Technically the member function 'hirvio::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/hirvio.h:55:9: performance:inconclusive: Technically the member function 'hirvio::gethardness' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/hirvio.cpp:260:16: note: Technically the member function 'hirvio::gethardness' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/hirvio.h:55:9: note: Technically the member function 'hirvio::gethardness' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/hirvio.cpp:312:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/models/invader.cpp:43:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/invader.cpp:176:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/invader.cpp:40:47: style:inconclusive: Function 'invader' argument 3 names different: declaration 'angle' definition 'minx'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/models/invader.h:39:39: note: Function 'invader' argument 3 names different: declaration 'angle' definition 'minx'. bloboats-1.0.2+dfsg/src/models/invader.cpp:40:47: note: Function 'invader' argument 3 names different: declaration 'angle' definition 'minx'. bloboats-1.0.2+dfsg/src/models/invader.cpp:40:60: style:inconclusive: Function 'invader' argument 4 names different: declaration 'scale' definition 'maxx'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/models/invader.h:39:53: note: Function 'invader' argument 4 names different: declaration 'scale' definition 'maxx'. bloboats-1.0.2+dfsg/src/models/invader.cpp:40:60: note: Function 'invader' argument 4 names different: declaration 'scale' definition 'maxx'. bloboats-1.0.2+dfsg/src/models/invader.cpp:158:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/models/paatti.cpp:54:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/tux.cpp:45:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/tux.cpp:183:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/models/tux.h:38:7: performance:inconclusive: Technically the member function 'tux::nobend' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/tux.cpp:94:11: note: Technically the member function 'tux::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/tux.h:38:7: note: Technically the member function 'tux::nobend' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/tux.h:42:7: performance:inconclusive: Technically the member function 'tux::nostretch' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/models/tux.cpp:103:11: note: Technically the member function 'tux::nostretch' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/tux.h:42:7: note: Technically the member function 'tux::nostretch' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/models/tux.cpp:162:10: style: Variable 'w' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/mouse.cpp:70:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_APPINPUTFOCUS [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/mouse.cpp:22:8: warning: Member variable 'mouse::buttondown' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/mouse.cpp:22:8: warning: Member variable 'mouse::mousetimer' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/mouse.cpp:22:8: warning: Member variable 'mouse::blank_cursor' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/mouse.h:37:10: style:inconclusive: Technically the member function 'mouse::GetTimer' can be const. [functionConst] bloboats-1.0.2+dfsg/src/mouse.cpp:28:15: note: Technically the member function 'mouse::GetTimer' can be const. bloboats-1.0.2+dfsg/src/mouse.h:37:10: note: Technically the member function 'mouse::GetTimer' can be const. bloboats-1.0.2+dfsg/src/mouse.h:39:8: performance:inconclusive: Technically the member function 'mouse::ShowCursor' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/mouse.cpp:32:13: note: Technically the member function 'mouse::ShowCursor' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:39:8: note: Technically the member function 'mouse::ShowCursor' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:40:8: performance:inconclusive: Technically the member function 'mouse::GetCursorCoords' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/mouse.cpp:36:13: note: Technically the member function 'mouse::GetCursorCoords' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:40:8: note: Technically the member function 'mouse::GetCursorCoords' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:41:8: performance:inconclusive: Technically the member function 'mouse::SetCursorCoords' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/mouse.cpp:40:13: note: Technically the member function 'mouse::SetCursorCoords' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:41:8: note: Technically the member function 'mouse::SetCursorCoords' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:42:8: performance:inconclusive: Technically the member function 'mouse::Clicked' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/mouse.cpp:44:13: note: Technically the member function 'mouse::Clicked' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/mouse.h:42:8: note: Technically the member function 'mouse::Clicked' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/particle.cpp:152:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/particle.cpp:27:11: warning: Member variable 'particle::mass' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/particle.cpp:27:11: warning: Member variable 'particle::g' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/particle.cpp:27:11: warning: Member variable 'particle::bfactor' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/particle.h:40:7: performance:inconclusive: Technically the member function 'particle::display' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/particle.cpp:199:16: note: Technically the member function 'particle::display' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/particle.h:40:7: note: Technically the member function 'particle::display' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/particle.h:43:6: style:inconclusive: Technically the member function 'particle::detectcollision' can be const. [functionConst] bloboats-1.0.2+dfsg/src/particle.cpp:226:15: note: Technically the member function 'particle::detectcollision' can be const. bloboats-1.0.2+dfsg/src/particle.h:43:6: note: Technically the member function 'particle::detectcollision' can be const. bloboats-1.0.2+dfsg/src/particle.h:44:6: style:inconclusive: Technically the member function 'particle::detectcollision_nov' can be const. [functionConst] bloboats-1.0.2+dfsg/src/particle.cpp:239:15: note: Technically the member function 'particle::detectcollision_nov' can be const. bloboats-1.0.2+dfsg/src/particle.h:44:6: note: Technically the member function 'particle::detectcollision_nov' can be const. bloboats-1.0.2+dfsg/src/particle.h:46:7: style:inconclusive: Technically the member function 'particle::is_onwall' can be const. [functionConst] bloboats-1.0.2+dfsg/src/particle.cpp:252:16: note: Technically the member function 'particle::is_onwall' can be const. bloboats-1.0.2+dfsg/src/particle.h:46:7: note: Technically the member function 'particle::is_onwall' can be const. bloboats-1.0.2+dfsg/src/particle.cpp:226:65: style:inconclusive: Function 'detectcollision' argument 4 names different: declaration 'walls' definition 'w'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/particle.h:43:56: note: Function 'detectcollision' argument 4 names different: declaration 'walls' definition 'w'. bloboats-1.0.2+dfsg/src/particle.cpp:226:65: note: Function 'detectcollision' argument 4 names different: declaration 'walls' definition 'w'. bloboats-1.0.2+dfsg/src/particle.cpp:239:50: style:inconclusive: Function 'detectcollision_nov' argument 2 names different: declaration 'walls' definition 'w'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/particle.h:44:41: note: Function 'detectcollision_nov' argument 2 names different: declaration 'walls' definition 'w'. bloboats-1.0.2+dfsg/src/particle.cpp:239:50: note: Function 'detectcollision_nov' argument 2 names different: declaration 'walls' definition 'w'. bloboats-1.0.2+dfsg/src/particle.cpp:226:48: style: Parameter 'p' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/particle.cpp:226:56: style: Parameter 'v' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/particle.cpp:239:41: style: Parameter 'p' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/particle.cpp:252:31: style: Parameter 'centerab' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/particle.cpp:252:46: style: Parameter 'ab' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/particle.cpp:58:9: style: Variable 'min_dist' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/particle.cpp:108:11: style: Variable 'VxAP' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/particle.cpp:109:11: style: Variable 'VxBP' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/path.cpp:50:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/path.cpp:164:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/path.cpp:174:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/path.cpp:242:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/path.cpp:276:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/path.cpp:207:19: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] bloboats-1.0.2+dfsg/src/path.cpp:35:7: warning: Member variable 'path::strtemp' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/path.h:51:7: performance:inconclusive: Technically the member function 'path::copyfile' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/path.cpp:271:12: note: Technically the member function 'path::copyfile' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/path.h:51:7: note: Technically the member function 'path::copyfile' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/path.cpp:143:3: warning: Class 'path' does not have a copy constructor which is recommended since it has dynamic memory/resource allocation(s). [noCopyConstructor] bloboats-1.0.2+dfsg/src/path.cpp:143:3: warning: Class 'path' does not have a operator= which is recommended since it has dynamic memory/resource allocation(s). [noOperatorEq] bloboats-1.0.2+dfsg/src/path.cpp:114:9: style: Condition 'd2' is always true [knownConditionTrueFalse] bloboats-1.0.2+dfsg/src/path.cpp:74:9: warning: sscanf() without field width limits can crash with huge input data. [invalidscanf] bloboats-1.0.2+dfsg/src/path.cpp:162:24: style: Parameter 's' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/path.cpp:172:24: style: Parameter 's' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/path.cpp:183:39: style: Parameter 'to' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/path.cpp:271:27: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/path.cpp:271:39: style: Parameter 'to' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/player.cpp:44:28: style:inconclusive: Function 'setnick' argument 1 names different: declaration 'name' definition 'nick'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/player.h:39:21: note: Function 'setnick' argument 1 names different: declaration 'name' definition 'nick'. bloboats-1.0.2+dfsg/src/player.cpp:44:28: note: Function 'setnick' argument 1 names different: declaration 'name' definition 'nick'. bloboats-1.0.2+dfsg/src/player.cpp:44:28: style: Parameter 'nick' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/sound.cpp:37:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MIX_DEFAULT_FORMAT [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/sound.cpp:62:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/sound.cpp:124:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/sound.cpp:142:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/sound.cpp:75:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] bloboats-1.0.2+dfsg/src/sound.cpp:135:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] bloboats-1.0.2+dfsg/src/sound.cpp:69:2: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] bloboats-1.0.2+dfsg/src/sound.cpp:75:8: style: Variable 'chunk' is assigned a value that is never used. [unreadVariable] bloboats-1.0.2+dfsg/src/spring.cpp:30:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::nlen' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::maxdiff' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::a' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::origlen' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::damp' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.cpp:24:9: warning: Member variable 'spring::edamp' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/spring.h:37:7: style:inconclusive: Technically the member function 'spring::display' can be const. [functionConst] bloboats-1.0.2+dfsg/src/spring.cpp:74:14: note: Technically the member function 'spring::display' can be const. bloboats-1.0.2+dfsg/src/spring.h:37:7: note: Technically the member function 'spring::display' can be const. bloboats-1.0.2+dfsg/src/texfile.cpp:23:2: performance: Variable 'fname' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/texfile.cpp:24:2: performance: Variable 'id' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/vec.h:31:9: style:inconclusive: Technically the member function 'vec::cross' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:38:13: note: Technically the member function 'vec::cross' can be const. bloboats-1.0.2+dfsg/src/vec.h:31:9: note: Technically the member function 'vec::cross' can be const. bloboats-1.0.2+dfsg/src/vec.h:32:9: style:inconclusive: Technically the member function 'vec::dot' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:42:13: note: Technically the member function 'vec::dot' can be const. bloboats-1.0.2+dfsg/src/vec.h:32:9: note: Technically the member function 'vec::dot' can be const. bloboats-1.0.2+dfsg/src/vec.h:34:9: style:inconclusive: Technically the member function 'vec::abs2' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:50:13: note: Technically the member function 'vec::abs2' can be const. bloboats-1.0.2+dfsg/src/vec.h:34:9: note: Technically the member function 'vec::abs2' can be const. bloboats-1.0.2+dfsg/src/vec.h:42:6: style:inconclusive: Technically the member function 'vec::operator+' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:73:10: note: Technically the member function 'vec::operator+' can be const. bloboats-1.0.2+dfsg/src/vec.h:42:6: note: Technically the member function 'vec::operator+' can be const. bloboats-1.0.2+dfsg/src/vec.h:45:6: style:inconclusive: Technically the member function 'vec::operator-' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:85:10: note: Technically the member function 'vec::operator-' can be const. bloboats-1.0.2+dfsg/src/vec.h:45:6: note: Technically the member function 'vec::operator-' can be const. bloboats-1.0.2+dfsg/src/vec.h:51:6: style:inconclusive: Technically the member function 'vec::operator/' can be const. [functionConst] bloboats-1.0.2+dfsg/src/vec.cpp:110:10: note: Technically the member function 'vec::operator/' can be const. bloboats-1.0.2+dfsg/src/vec.h:51:6: note: Technically the member function 'vec::operator/' can be const. bloboats-1.0.2+dfsg/src/vec.cpp:35:27: style: Parameter 'b' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/vec.cpp:38:24: style: Parameter 'b' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/vec.cpp:42:22: style: Parameter 'b' can be declared as reference to const [constParameterReference] bloboats-1.0.2+dfsg/src/viewport.cpp:77:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/viewport.cpp:629:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/viewport.cpp:650:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/viewport.cpp:85:6: warning: fscanf() without field width limits can crash with huge input data. [invalidscanf] bloboats-1.0.2+dfsg/src/viewport.cpp:578:18: style: A pointer can not be negative so it is either pointless or an error to check if it is not. [pointerPositive] bloboats-1.0.2+dfsg/src/viewport.cpp:331:15: style: Local variable 'current' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/viewport.cpp:302:13: note: Shadowed declaration bloboats-1.0.2+dfsg/src/viewport.cpp:331:15: note: Shadow variable bloboats-1.0.2+dfsg/src/viewport.cpp:385:16: style: Local variable 'i' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/viewport.cpp:371:13: note: Shadowed declaration bloboats-1.0.2+dfsg/src/viewport.cpp:385:16: note: Shadow variable bloboats-1.0.2+dfsg/src/viewport.cpp:426:14: style: Local variable 'current' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/viewport.cpp:302:13: note: Shadowed declaration bloboats-1.0.2+dfsg/src/viewport.cpp:426:14: note: Shadow variable bloboats-1.0.2+dfsg/src/viewport.cpp:445:14: style: Local variable 'current' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/viewport.cpp:302:13: note: Shadowed declaration bloboats-1.0.2+dfsg/src/viewport.cpp:445:14: note: Shadow variable bloboats-1.0.2+dfsg/src/viewport.cpp:532:10: style: Local variable 'y' shadows outer variable [shadowVariable] bloboats-1.0.2+dfsg/src/viewport.cpp:503:9: note: Shadowed declaration bloboats-1.0.2+dfsg/src/viewport.cpp:532:10: note: Shadow variable bloboats-1.0.2+dfsg/src/viewport.cpp:74:9: style: Variable 'keys' can be declared as pointer to const [constVariablePointer] bloboats-1.0.2+dfsg/src/viewport.cpp:628:17: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bloboats-1.0.2+dfsg/src/viewport.cpp:68:15: style: Unused variable: s [unusedVariable] bloboats-1.0.2+dfsg/src/wall.cpp:86:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/wall.cpp:204:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_x_ac' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_x_ac_inv' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_len2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ac_len2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::bc_len2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_lenp2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ac_lenp2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::bc_lenp2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_lenp2_2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ac_lenp2_2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::bc_lenp2_2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ab_len' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::ac_len' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::bc_len' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::r2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::r' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::tex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::groundtex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::icetex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::type_ab' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::type_ac' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::type_bc' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::f_ab' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::f_ac' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::f_bc' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:28:7: warning:inconclusive: Member variable 'wall::alive' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:31:7: warning: Member variable 'wall::tex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:31:7: warning: Member variable 'wall::groundtex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:31:7: warning: Member variable 'wall::icetex' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/wall.cpp:38:2: performance: Variable 'ab' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/wall.cpp:39:2: performance: Variable 'ac' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/wall.cpp:40:2: performance: Variable 'bc' is assigned in constructor body. Consider performing initialization in initialization list. [useInitializationList] bloboats-1.0.2+dfsg/src/wall.h:47:7: style:inconclusive: Technically the member function 'wall::displayground' can be const. [functionConst] bloboats-1.0.2+dfsg/src/wall.cpp:111:12: note: Technically the member function 'wall::displayground' can be const. bloboats-1.0.2+dfsg/src/wall.h:47:7: note: Technically the member function 'wall::displayground' can be const. bloboats-1.0.2+dfsg/src/wall.h:48:7: style:inconclusive: Technically the member function 'wall::displayground_solid' can be const. [functionConst] bloboats-1.0.2+dfsg/src/wall.cpp:127:12: note: Technically the member function 'wall::displayground_solid' can be const. bloboats-1.0.2+dfsg/src/wall.h:48:7: note: Technically the member function 'wall::displayground_solid' can be const. bloboats-1.0.2+dfsg/src/wall.cpp:97:5: style: float result is assigned to double variable. If the variable is double to avoid loss of information, then you have loss of information. [truncLongCastAssignment] bloboats-1.0.2+dfsg/src/water.cpp:34:25: style:inconclusive: Function 'set_t' argument 1 names different: declaration 't' definition 'new_t'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/water.h:27:19: note: Function 'set_t' argument 1 names different: declaration 't' definition 'new_t'. bloboats-1.0.2+dfsg/src/water.cpp:34:25: note: Function 'set_t' argument 1 names different: declaration 't' definition 'new_t'. bloboats-1.0.2+dfsg/src/window.cpp:41:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_FULLSCREEN [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/window.cpp:86:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bloboats-1.0.2+dfsg/src/window.cpp:22:9: warning: Member variable 'window::bpp' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/window.cpp:22:9: warning: Member variable 'window::r2' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/window.cpp:22:9: warning: Member variable 'window::r' is not initialized in the constructor. [uninitMemberVar] bloboats-1.0.2+dfsg/src/window.h:35:8: performance:inconclusive: Technically the member function 'window::SetTitle' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/window.cpp:91:14: note: Technically the member function 'window::SetTitle' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/window.h:35:8: note: Technically the member function 'window::SetTitle' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/window.h:36:8: performance:inconclusive: Technically the member function 'window::Iconify' can be static (but you may consider moving to unnamed namespace). [functionStatic] bloboats-1.0.2+dfsg/src/window.cpp:95:14: note: Technically the member function 'window::Iconify' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/window.h:36:8: note: Technically the member function 'window::Iconify' can be static (but you may consider moving to unnamed namespace). bloboats-1.0.2+dfsg/src/window.cpp:39:38: style:inconclusive: Function 'OpenWindow' argument 1 names different: declaration 'width' definition 'w'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/window.h:34:32: note: Function 'OpenWindow' argument 1 names different: declaration 'width' definition 'w'. bloboats-1.0.2+dfsg/src/window.cpp:39:38: note: Function 'OpenWindow' argument 1 names different: declaration 'width' definition 'w'. bloboats-1.0.2+dfsg/src/window.cpp:39:45: style:inconclusive: Function 'OpenWindow' argument 2 names different: declaration 'height' definition 'h'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/window.h:34:43: note: Function 'OpenWindow' argument 2 names different: declaration 'height' definition 'h'. bloboats-1.0.2+dfsg/src/window.cpp:39:45: note: Function 'OpenWindow' argument 2 names different: declaration 'height' definition 'h'. bloboats-1.0.2+dfsg/src/window.cpp:39:52: style:inconclusive: Function 'OpenWindow' argument 3 names different: declaration 'bpp' definition 'b'. [funcArgNamesDifferent] bloboats-1.0.2+dfsg/src/window.h:34:55: note: Function 'OpenWindow' argument 3 names different: declaration 'bpp' definition 'b'. bloboats-1.0.2+dfsg/src/window.cpp:39:52: note: Function 'OpenWindow' argument 3 names different: declaration 'bpp' definition 'b'. bloboats-1.0.2+dfsg/src/models/invader.h:37:1: error: The one definition rule is violated, different classes/structs have the same name 'invader' [ctuOneDefinitionRuleViolation] bloboats-1.0.2+dfsg/src/viewport.cpp:45:1: note: The one definition rule is violated, different classes/structs have the same name 'invader' bloboats-1.0.2+dfsg/src/models/invader.h:37:1: note: The one definition rule is violated, different classes/structs have the same name 'invader' diff: head bloboats-1.0.2+dfsg/src/compat.cpp:111:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/compat.cpp:115:8: style: Redundant assignment of '*data' to itself. [selfAssignment] 2.13.0 bloboats-1.0.2+dfsg/src/compat.cpp:115:8: warning: Redundant assignment of '*data' to itself. [selfAssignment] head bloboats-1.0.2+dfsg/src/compat.cpp:120:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/compat.cpp:124:8: style: Redundant assignment of '*data' to itself. [selfAssignment] 2.13.0 bloboats-1.0.2+dfsg/src/compat.cpp:124:8: warning: Redundant assignment of '*data' to itself. [selfAssignment] head bloboats-1.0.2+dfsg/src/compat.cpp:129:7: style: Redundant assignment of 'data' to itself. [selfAssignment] 2.13.0 bloboats-1.0.2+dfsg/src/compat.cpp:129:7: warning: Redundant assignment of 'data' to itself. [selfAssignment] head bloboats-1.0.2+dfsg/src/compat.cpp:134:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/compat.cpp:244:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] 2.13.0 bloboats-1.0.2+dfsg/src/config.cpp:33:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable current_w [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/config.cpp:57:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/element.cpp:63:4: style: Redundant assignment of 'p' to itself. [selfAssignment] 2.13.0 bloboats-1.0.2+dfsg/src/element.cpp:63:4: warning: Redundant assignment of 'p' to itself. [selfAssignment] head bloboats-1.0.2+dfsg/src/font.cpp:111:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/font.cpp:70:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:114:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:129:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:225:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:258:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:303:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_COLOR_BUFFER_BIT [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/graphics.cpp:86:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_SRCCOLORKEY [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:116:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:122:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:137:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:201:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_NUMLOCK [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:234:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:243:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:55:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:88:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_KEYDOWN [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/keyboard.cpp:97:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_QUIT [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/level.cpp:157:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/level.cpp:195:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/level.cpp:46:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/level.cpp:68:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:1349:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:1569:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_HWSURFACE [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:1738:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:1831:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:1927:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2054:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2187:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2329:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_RETURN [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2462:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2577:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_BACKSPACE [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2690:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2711:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2791:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:2987:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sel [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3170:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3206:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3309:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3359:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3468:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_LAST [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:3648:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:393:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:516:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:613:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:735:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDLK_UP [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menu.cpp:893:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menutext.cpp:41:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/menutext.cpp:60:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/model.cpp:203:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/models/boulder.cpp:198:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/models/boulder.h:33:3: style: The destructor '~boulder' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/boulder.h:33:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/broken.h:38:3: style: The destructor '~broken' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/broken.h:38:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/canvas.h:49:3: style: The destructor '~canvas' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/canvas.h:49:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/hirvio.h:40:3: style: The destructor '~hirvio' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/hirvio.h:40:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/invader.cpp:176:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/models/invader.h:40:3: style: The destructor '~invader' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/invader.h:40:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/paatti.h:35:3: style: The destructor '~paatti' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/paatti.h:35:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/models/tux.cpp:183:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_BLEND [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/models/tux.h:33:3: style: The destructor '~tux' overrides a destructor in a base class but is not marked with a 'override' specifier. [missingOverride] bloboats-1.0.2+dfsg/src/model.h:45:11: note: Virtual destructor in base class bloboats-1.0.2+dfsg/src/models/tux.h:33:3: note: Destructor in derived class head bloboats-1.0.2+dfsg/src/particle.cpp:252:46: style: Parameter 'ab' can be declared as reference to const [constParameterReference] head bloboats-1.0.2+dfsg/src/path.cpp:164:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/path.cpp:174:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/path.cpp:183:39: style: Parameter 'to' can be declared as pointer to const [constParameterPointer] head bloboats-1.0.2+dfsg/src/path.cpp:242:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/path.cpp:276:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/sound.cpp:124:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/sound.cpp:142:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/sound.cpp:62:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/viewport.cpp:629:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/viewport.cpp:650:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/wall.cpp:204:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GL_TEXTURE_2D [valueFlowBailoutIncompleteVar] head bloboats-1.0.2+dfsg/src/window.cpp:86:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] DONE