2012-09-01 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.56: Set versions 2012-09-01 Daniel Marjamäki * lib/symboldatabase.cpp, lib/symboldatabase.h: SymbolDatabase: Made function static after self-check suggestion 2012-09-01 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: Preprocessor: Made function static after self-check suggestion 2012-09-01 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Fixed possible NULL pointer dereference 2012-09-01 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: removed unused variable 2012-08-30 Ankita-gupta * lib/token.cpp, test/testtoken.cpp: Fixed bug in Token::Match (#3720) 2012-08-28 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer::simplifyEmptyNamespaces: new function. It removes from the token list, if found, the following tokens: 'namespace %var% { }'. It won't involve C code. 2012-08-28 PKEuS * lib/tokenize.cpp: Small refactorization: Handle std::map more efficient in setVarIdStructMembers() 2012-08-28 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #4086: Set varId in initialization list. 2012-08-28 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #4034 (false positive:(error) Dereferencing 'cfileP' after it is deallocated / released) 2012-08-27 Daniel Marjamäki * cli/cmdlineparser.cpp: cli: updated example with --std=posux flag 2012-08-27 Daniel Marjamäki * lib/checkobsoletefunctions.h: CheckObsoleteFunctions: asctime and ctime are not posix functions 2012-08-27 Daniel Marjamäki * lib/checkstl.cpp: astyle formatting 2012-08-27 Daniel Marjamäki * lib/executionpath.cpp, test/testuninitvar.cpp: Fixed #4040 (false positive: (error) Uninitialized variable: iter) 2012-08-27 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed false positive: Return value of std::remove() ignored when std::remove(char*) is called (#4093) 2012-08-27 Daniel Marjamäki * lib/token.h: astyle formatting 2012-08-26 PKEuS * lib/tokenize.cpp, lib/tokenize.h: Removed unused and obsolete functions Tokenizer::getParameterName() and Tokenizer::getNameForFunctionParams() 2012-08-26 PKEuS * cli/cmdlineparser.cpp, lib/check64bit.h, lib/checkassignif.h, lib/checkbufferoverrun.h, lib/checkexceptionsafety.h, lib/checkleakautovar.h, lib/checkmemoryleak.h, lib/checkstl.h, test/testcppcheck.cpp: Removed --doc formating hack that removes more than three newlines and added format testing of Check::classInfo instead. - Fixed test failures shown by new test. Use const_iterator instead of iterator in testcppcheck.cpp when possible 2012-08-26 PKEuS * test/testleakautovar.cpp, test/testmemleak.cpp: Added regression test cases for #404. 2012-08-26 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed #3729: Don't suggest recursive call to optimize away c_str() 2012-08-26 PKEuS * lib/checknullpointer.cpp: It is ok to pass a nullpointer as first argument to mbstowcs and wcstombs, which then just return how long the buffer has to be to store the result. 2012-08-26 PKEuS * lib/token.h, test/testother.cpp: Bugfix: Reset property info when Token::link() is set (< can be a bracket or a comparison operator). Fixes #4075. 2012-08-26 PKEuS * lib/token.h: Bugfix for bugfix of Token::varId - Change Token::type also if varId is set to 0 2012-08-26 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Simplify 0[foo] to *(foo) (fixes #4083) 2012-08-26 PKEuS * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed setVarId for nested templates (#3976, #3769) and support C++11 right angle brackets in TemplateSimplifier::templateParameters() 2012-08-26 Daniel Marjamäki * gui/mainwindow.cpp: gui: fixed compiler errors 2012-08-26 Reijo Tomperi * lib/checkio.cpp, lib/checkio.h, lib/tokenlist.cpp, lib/tokenlist.h: Change file encoding to UFT-8 like it is for other files. 2012-08-26 Reijo Tomperi * man/cppcheck.1.xml: Update man page: Add inconclusive and --std changes. 2012-08-25 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/standards.h, lib/tokenize.cpp, test/testcmdlineparser.cpp, test/testobsoletefunctions.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Enable --std=c11 and --std=c++11 by default 2012-08-25 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #4036 (cppcheck hangs with 100% cpu load) 2012-08-25 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3980 (Variable not assigned a value) 2012-08-25 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed false positive #4039: Handle operator precedence in CheckStl::size() 2012-08-25 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testnullpointer.cpp, test/testtokenize.cpp: Fixed #4035 (False positive: Memory leak: pTempFile) 2012-08-25 Daniel Marjamäki * test/testpreprocessor.cpp: Fixed testrunner assertions in TestPreprocessor 2012-08-25 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Reverted last commit. I pushed it by mistake. 2012-08-25 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #4035 (False positive: Memory leak: pTempFile) 2012-08-24 PKEuS * lib/checkother.cpp, lib/checkother.h, lib/token.h, test/testother.cpp: New check: detect suspicious comparison of string literal with char* variable Bugfix: Update Token type when varId is set 2012-08-24 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Restored (intentional) content of screwed up commits 1bcdf4ce3dd6a22e0adc81d07714337b89e3bd92 and 674f7980d519712ff16d8f874dfe55a84deb4b5b: - New check (Inconclusive): Array filled incompletely with memset/memcpy/memmove -- This check only warns if the number of elements is given as size in bytes to memset, memcpy or memmove and if the size of an element is larger than 1 Byte. It does not warn for random numbers - New check: Detect ineffective statements like '*foo++;' (Should be: '(*foo)++;') Sorry for the inconveniences. 2012-08-24 Edoardo Prezioso * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Revert latest two commits as they break the compilation and the style. PKEuS??? 2012-08-23 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: New check: Detect ineffective statements like '*foo++;' (Should be: '(*foo)++;') 2012-08-23 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: New check (Inconclusive): Array filled incompletely with memset/memcpy/memmove. This check only warns if the number of elements is given as size in bytes to memset, memcpy or memmove and if the size of an element is larger than 1 Byte. It does not warn for random numbers 2012-08-22 Daniel Marjamäki * lib/mathlib.cpp, test/testmathlib.cpp: Fixed #4068 (Endless loop inside MathLib::add()) 2012-08-22 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #4020 (false positive: (style) Variable 'dst' is assigned a value that is never used) 2012-08-22 PKEuS * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed crash reported in #4076 2012-08-22 PKEuS * lib/preprocessor.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testpreprocessor.cpp: Support sizeof in preprocessor directives Applied "patch" provided by michaeln123 in #4071 2012-08-22 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Ran AStyle, removed redundant tokAt(0) 2012-08-22 SAndeep * lib/tokenize.cpp, test/testtokenize.cpp: sprintf changes 2012-08-22 PKEuS * test/testother.cpp: Made a TODO from failing tests - Simplification of known variables is not smart enough to handle operator>> properly- 2012-08-22 PKEuS * test/testother.cpp: Fixed compiler error introduced recently. 2012-08-22 Arpit Chaudhary * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Added check for detecting if a variable or number is shifted by negative right operand. Statements like: int i = -1; a << i; would result in an error message stating undefined behavior. 2012-08-22 Kumar Ashwani * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2628: Detect redudant usage of operator++/-- in switch. 2012-08-22 PKEuS * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed false negatives in checkautovariables.cpp: - Detect returning temporary instances (#4076) - Added support for returning user defined types 2012-08-22 PKEuS * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Detect functions returning a template type in SymbolDatabase Fixed comment 2012-08-21 Edoardo Prezioso * lib/checkother.cpp, test/testother.cpp: Fixed G++ [-Wparentheses] warning. This also fixed #4073 (Crash on self assignment). 2012-08-21 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3942 (false positive: (error) Memory leak: keyword) 2012-08-21 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improved check: Added message when checking sign of a pointer. 2012-08-21 PKEuS * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: New check: Ensure that the return value of std::remove() is used. 2012-08-20 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed false negative: memset(foo, 0, sizeof(&foo)); is as suspicious as memset(foo, 0, sizeof(foo)); 2012-08-20 Daniel Marjamäki * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3964 (False positive: Expressions in array declarations are not simplified 'char mac[17+1];') 2012-08-20 PKEuS * lib/checkio.cpp, lib/checkother.cpp, test/testother.cpp: Refactorized type handling in CheckIO and CheckOther: - Added several types (std::) to isComplexType - Types in namespace std:: are considered to have no side-effects (solved one TODO) - Scope of a pointer can be limited without side effects 2012-08-20 PKEuS * lib/checkclass.cpp, lib/checkstl.cpp: Refactorizations: - Removed unnecessary 'if' - Use symboldatabase instead of tokenizer to detect references and pointers 2012-08-20 PKEuS * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed false negative in unused variable checking when class without side effects inherits from another one. 2012-08-20 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Refactorized iterator check: - Handles reassignment (fix for #4062) - Better support of execution paths - Use symboldatabase for better performance 2012-08-18 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3922 (false positive: (error) null pointer dereference) 2012-08-17 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #4019 (false positive: (style) Variable 'dest' is assigned a value that is never used) 2012-08-14 Daniel Marjamäki * lib/mathlib.cpp, lib/mathlib.h, test/testmathlib.cpp: Fixed #4016 (false positive: incorrectLogicOperator) 2012-08-13 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #3706 (cppcheck 1.53 hangs when processing a certain template with specializations) 2012-08-12 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3931 (FP: Buffer access out-of-bounds) 2012-08-12 Edoardo Prezioso * lib/token.h, test/testsymboldatabase.cpp: Fixed the GCC Wshadow warnings introduced recently. 2012-08-12 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #4018 (false positive: Dereferencing 'foo' after it is deallocated / released) 2012-08-12 PKEuS * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed #4000, added support for function prototypes to TemplateSimplifier::templateParameters() 2012-08-12 PKEuS * lib/checkstl.cpp: Replaced two more indentation counters 2012-08-12 PKEuS * lib/checkbufferoverrun.cpp, lib/checkexceptionsafety.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp: Refactorization: Make use of Token::scope() replacing certain indentation counters 2012-08-12 PKEuS * lib/symboldatabase.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testmemleak.cpp, test/testnullpointer.cpp, test/testsimplifytokens.cpp, test/testunusedvar.cpp: Changed creation of SymbolDatabase. Database always created after Tokenizer::tokenize() and Tokenizer::simplifyTokenList() instead of on-demand creation by Tokenizer::getSymbolDatabase. -> With Token::scope() it is possible to access the symboldatabase without having to call getSymbolDatabase(). The change increases safety because it is guaranteed that the database is available in all checks, even if the specific check doesn't call getSymbolDatabase - Tokenizer::_symbolDatabase does no longer have to be mutable -> Increased const correctness The change above required two additional changes: - A bug causing a debug message was fixed in the symboldatabase that became visible in the test suite by the change above. - Simplify expressions like "struct struct Foo" which might be result of typedef instanciation. 2012-08-12 PKEuS * lib/symboldatabase.cpp: Fixed inverted id and msg of debug messages from symboldatabase 2012-08-11 PKEuS * lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h: Added Pointer to enclosing scope to class Token (Only available when symboldatabase is created). 2012-08-10 PKEuS * lib/tokenize.cpp, test/testmemleak.cpp, test/teststl.cpp: Refactorized tokenizer: - Don't run setVarId() twice, keep old varId's while/after simplifyTokenList -> Modified two test cases in testmemleak.cpp. I consider this to be safe. Feel free to investigate this. - Fixed two nullpointer issues shown by cppcheck Ran Astyle on teststl.cpp 2012-08-10 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Really fixed #4024. Now the simplification won't be done on non-executive scopes. 2012-08-10 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed false positive #4032 2012-08-10 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer::simplifyEnum: Reverted refactorings/optimisations as there were regressions (#3949, #3950, #4025) 2012-08-10 Daniel Marjamäki * lib/errorlogger.h: ErrorLogger: Throw InternalError if given severity is not handled 2012-08-10 PKEuS * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Small refactorizations in checkunusedvar.cpp: - Token::Match handles nullpointers - In chained assignments variables are only written (not read) when assigned - Fixed crash #4033 2012-08-10 Daniel Marjamäki * test/testsymboldatabase.cpp: SymbolDatabase: Added unit test that ensure the dimension is 0 when it is unknown (#3964) 2012-08-09 Daniel Marjamäki * Makefile: updated Makefile with dmake 2012-08-09 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: TemplateSimplifier: Improved handling of unknown inner template instantiation inside template instantiation (#3818) 2012-08-08 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: TemplateSimplifier: Fixed wrong match when inner template parameters are wrongly counted (#3818) 2012-08-07 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyFlowControl: separated the 'throw' case because it's not a reserved keyword in C, hence the function shouldn't simplify in C source files. 2012-08-07 Daniel Marjamäki * test/testsimplifytokens.cpp: fixed testrunner assertion 2012-08-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3963 (segmentation fault of cppcheck (invalid typedef code)) 2012-08-07 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #4024 (Tokenizer::simplifyFlowControl removes pieces of code inside a class if 'exit' is a member function). 2012-08-07 Edoardo Prezioso * test/testsimplifytokens.cpp: Fixed a testcase failure from Token::stringifyList change. 2012-08-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #4015 (segmentation fault of cppcheck (enum)) 2012-08-05 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #4010 (error (cppcheckError): Internal error. Token::Match called with varid 0) 2012-08-05 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: removed redundant include 2012-08-05 PKEuS * lib/checknullpointer.cpp, lib/checknullpointer.h: Refactorizations in checknullpointer.cpp: - Removed CheckNullPointer::nullPointerAfterLoop(), improved CheckNullPointer::nullPointerByCheckAndDeRef() to cover tests - Enhanced CheckNullPointer::nullPointerByDeRefAndChec() to check also 'else if' and 'while' 2012-08-05 PKEuS * lib/checknullpointer.cpp, lib/checknullpointer.h, test/testnullpointer.cpp: Message refactorization: checknullpointer.cpp Removed a duplicate test in checknullpointer.cpp 2012-08-02 PKEuS * lib/token.cpp: Improvements in token.cpp: - Shortened stringify output - 4 or more subsequent empty lines are abbreviated - Fixed detection of comparision operators - Make use of _type: Replaced three asserts by one 2012-08-02 PKEuS * lib/check64bit.h, lib/checkassignif.h, lib/checkautovariables.h, lib/checkboost.h, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkexceptionsafety.h, lib/checkinternal.h, lib/checkio.h, lib/checkleakautovar.h, lib/checkmemoryleak.h, lib/checknonreentrantfunctions.h, lib/checknullpointer.h, lib/checkobsoletefunctions.h, lib/checkother.h, lib/checkpostfixoperator.h, lib/checkstl.h, lib/checkuninitvar.h, lib/checkunusedfunctions.h, lib/checkunusedvar.h: Refactorizations: - Made several functions (Check*::myName and others) because they don't touch depend on a specific instance. (cppcheck findings) - Removed description of a check in CheckConst that has moved to CheckIO 2012-08-02 PKEuS * gui/cppcheck_de.ts: Updated german translation 2012-08-02 PKEuS * : Merge pull request #106 from kimmov/openxml GUI: Clear current results before adding new results from XML file 2012-08-02 Kimmo Varis * gui/mainwindow.cpp: GUI: Clear current results before opening XML. Currently if there were results in the GUI the results from XML file were imported to list of results. This is confusing and not what users usually want to do. This patch makes GUI to clear the results before opening new results from XML file. Ticket #3829 (Rename open xml to import xml) 2012-08-02 PKEuS * : Merge pull request #105 from kimmov/translations Remove Polish translation and update other translation files 2012-08-02 PKEuS * lib/checkboost.cpp, test/testboost.cpp: Clarified errormessage of checkBoost 2012-08-02 PKEuS * test/testfilelister.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testoptions.cpp, test/testpath.cpp, test/testpathmatch.cpp: Refactorizations: Made several test functions const according to cppcheck messages. 2012-08-02 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Add Korean translation file. Also remove the removed Polish translation file. 2012-08-02 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_ko.ts, gui/cppcheck_nl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2012-08-02 Kimmo Varis * gui/cppcheck_pl.ts, gui/gui.pro, gui/translationhandler.cpp: GUI: Remove Polish translation. The Polish translation doesn't have any translated text. So it is only waste of resources to have it available. And it may confuse some people who try it. Ticket #4008 (GUI: Polish translation does not translate and should be removed) 2012-08-01 PKEuS * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h: Fixed cppcheck messagesa about functions that can be const/static: - Made Tokenizer::getErrorMessages static - Avoids creation of unnecessary instance of Tokenizer - Changed Tokenizer::removeExceptionSpecifications to common style for simplification functions. In contrast to the comment, this function doesn't call itself recursivly - fixed comment. - Made Tokenizer::IsScopeNoReturn static. 2012-08-01 PKEuS * test/testsuite.cpp, test/testsuite.h: Made several functions in testsuite.cpp const according to cppcheck suggestions 2012-08-01 PKEuS * test/testcmdlineparser.cpp: Partially reverted my last commit, since some of the tests were already commented out below. 2012-08-01 PKEuS * test/testcmdlineparser.cpp, test/testmemleak.cpp: Fixed unusedFunctions warnings emmitted by cppcheck: - Several tests in testcmdlineparser.cpp were never executed (failing tests commented) - Unnecessary function in testmemleak.cpp removed. 2012-08-01 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Refactorized CheckClass::checkConst: - Added checking for functions that can be even declared static (#1971. Removed fix for #1563) - Consistent usage of Function::TokenDef to avoid problems with scope identifiers - Rewrote parsing of function body making it more generic - Removed three redundant tests 2012-07-31 Ettl Martin * lib/checkother.cpp, lib/symboldatabase.h, lib/tokenize.cpp, test/testother.cpp: spelling fixes 2012-07-31 Ville Skyttä * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: spelling fixes 2012-07-29 PKEuS * lib/checkclass.cpp, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h: Removed bailouts in CheckClass::privateFunctions and CheckUnusedFunctions when checking code with templates (unnecessary after 2c10e9a6ca43b573cfd417b24212b62b293591cd) 2012-07-29 Daniel Marjamäki * lib/templatesimplifier.cpp, lib/templatesimplifier.h: TemplateSimplifier: Removed unused function 2012-07-29 Daniel Marjamäki * lib/templatesimplifier.cpp, lib/templatesimplifier.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #3814 (false positive: missing constructor) 2012-07-29 PKEuS * lib/checkother.cpp: Really fixed #3941. 2012-07-29 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed false positive #3941. 2012-07-29 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Fixed hang in libreoffice code (simplification of K&R style function declaration tried to simplify a function with parameters without name whose implementation contained "; {". Test cases of this simplification only need basic simplifications done in Tokenizer::tokenize 2012-07-29 PKEuS * lib/checkio.cpp, test/testio.cpp: Fixed false positives on FILE* arrays. (#3965) 2012-07-29 PKEuS * lib/checknonreentrantfunctions.h, lib/checkobsoletefunctions.h, test/testnonreentrantfunctions.cpp, test/testobsoletefunctions.cpp: Message refactorization: checkobsoletefunctions.h and checknonreentrantfunctions.h 2012-07-28 Changkyoon Kim * gui/cppcheck_ko.ts, gui/gui.pro, gui/translationhandler.cpp: GUI: Added Korean translation 2012-07-27 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Reduce simplifyVarMap usage to make Cppcheck a bit faster 2012-07-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3695 (False positive: memory leak (ptr?free(ptr):0)) 2012-07-27 PKEuS * lib/checknullpointer.cpp: Fixed #4003: tmpnam may be called with a nullpointer 2012-07-26 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3998 (Tokenizer::simplifyEnum: wrong handling of expressions => crash) 2012-07-26 Daniel Marjamäki * cli/cmdlineparser.cpp: cli: add --inconclusive to the help screen 2012-07-25 PKEuS * test/testbufferoverrun.cpp, test/testclass.cpp, test/testother.cpp, test/testsimplifytokens.cpp: Removed some duplicate tests and a redundant variable 2012-07-25 PKEuS * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed false positive "Variable is not assigned a value" on class types 2012-07-25 Daniel Marjamäki * lib/token.cpp: Fixed #3999 (Error incorrectly written in XML format) 2012-07-24 PKEuS * lib/preprocessor.cpp, lib/suppressions.cpp, lib/templatesimplifier.cpp, test/testunusedprivfunc.cpp: Refactorizations: - Removed redundant newlines at the end of test cases - Make use of STL algorithms instead of own implementations of std::replace and std::remove+string::erase - Removed unused variable (found by cppcheck) - Prefer postfix increment (found by cppcheck) 2012-07-24 PKEuS * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Implemented unused variable checking for standard types (#2851) 2012-07-24 Ettl Martin * test/testio.cpp: #2553 added testcase 2012-07-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2802 (False positive: ::free() is not recognised as free() to release buffers) 2012-07-23 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed useInitializationList false positives (#3988) 2012-07-23 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed false positive "Parameter 'x' is passed as a value" for types like std::vector::size_type (#3986) 2012-07-23 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3914 (false positive null pointer dereference, assignment in conditional) 2012-07-22 Zhao Qifa * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: add a performance checker for const assignment 2012-07-21 Ville Skyttä * lib/checkclass.cpp, lib/checkinternal.cpp, lib/checkinternal.h, lib/checkio.cpp, lib/tokenize.cpp, test/testinternal.cpp, test/testio.cpp: Spelling fixes. 2012-07-19 Daniel Marjamäki * lib/checkautovariables.cpp: Auto variables: Speedup my fix. Use the symbol database instead of Token::findmatch. 2012-07-19 Ettl Martin * test/testbufferoverrun.cpp: #3979 added todo testcases 2012-07-18 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #3834 (Preprocessor: -U doesn't work) 2012-07-18 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed #3791 (False positive: returnTempReference) 2012-07-18 Edoardo Prezioso * Makefile, tools/dmake.cpp: Since the GCC -Wconversion warnings are fixed (at least on a x86-64 environment), enable it in the Makefile. 2012-07-18 Edoardo Prezioso * test/testpreprocessor.cpp: Don't report 'warning unknown pragma' message with GCC. 2012-07-17 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkmemoryleak.cpp, test/testleakautovar.cpp, test/testmemleak.cpp: Fixed #3954 (Pointer reference memory leak false positive) 2012-07-17 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positive when there is assignment in condition 2012-07-16 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3891 (False positive 'Double deallocation:' due to ((void*)1)) 2012-07-16 PKEuS * test/testbufferoverrun.cpp, test/testclass.cpp, test/testmemleak.cpp, test/testunusedvar.cpp: Refactorizations in testrunner: - Removed unnecessary space characters - Removed comments from test cases which are not preprocessed 2012-07-16 PKEuS * test/testboost.cpp, test/testcppcheck.cpp, test/testexceptionsafety.cpp, test/testinternal.cpp, test/teststl.cpp: Refactorizations in testrunner: - Avoid creation of std::string instances of static strings where possible in testrunner. - Removed unnecessary include of tinyxml.h in testcppcheck.cpp 2012-07-16 PKEuS * cli/filelister.cpp: Committed patch removing unnecessary Unicode-Ansi conversions (fixed #2123) 2012-07-16 Daniel Marjamäki * lib/tokenize.cpp, test/testconstructors.cpp: Fixed #3804 (False positive: Member not initialized (simplifyTokenList removes const on pointers)) 2012-07-15 PKEuS * cli/cli.vcxproj, cppcheck_vs2010.sln: Fixed broken rules support in cli under VS10 (HAVE_RULES was not set, but needed in cmdlineparser.cpp) 2012-07-15 PKEuS * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Implemented support for 'using namespace std;': Add std:: prefix to names that are known to be in std namespace. Simplify namespace (std::)tr1:: if C++11 flag is set. 2012-07-14 Tim Gerundt * htdocs/site/js/github.js: Web: Use same style for "recent git commits" like the other lists 2012-07-14 Tim Gerundt * htdocs/devinfo/index.php, htdocs/index.php, htdocs/site/css/all.css: Web: Add links to headings from long pages 2012-07-14 Tim Gerundt * htdocs/index.php: Web: Add "Contribute" section 2012-07-13 PKEuS * lib/checkio.cpp, lib/checkio.h, test/testio.cpp: Message refactorization: checkio.h/cpp 2012-07-13 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed evaluation of redundant conditions (#3972) 2012-07-13 PKEuS * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: Fixed #3972: Don't issue auto variable error when the address is assigned to a reference to a non-pointer. 2012-07-13 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Properly fixed test failure and line numbers in uselessCallsEmpty error 2012-07-13 Daniel Marjamäki * test/testpreprocessor.cpp: Test 'Preprocessor: Proper fix for #3690' 2012-07-13 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Made proper fix for #3690 2012-07-13 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3690 (CppCheck is stuck on evaluating false preprocessor expression( = 0)) 2012-07-13 Daniel Marjamäki * test/teststl.cpp: fixed unit test 2012-07-13 Daniel Marjamäki * lib/errorlogger.cpp, test/testerrorlogger.cpp: Fixed #3442 (unmatchedSuppression can't be suppressed) 2012-07-12 Tim Gerundt * htdocs/demo/index.php, htdocs/demo/report/index.php, htdocs/devinfo/index.php, htdocs/index.php: Web: Rename "Trac" to "Issues" in main menu 2012-07-12 PKEuS * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Check for useless calls of .empty() (#3816) Messages from CheckStl::uselessCalls() only shown when correct severity is enabled. 2012-07-12 PKEuS * lib/checkio.cpp: Added 'char' back where I removed it by mistake. 2012-07-11 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: skip preprocessor directives in the Preprocessor::validateCfg function 2012-07-11 PKEuS * lib/checkio.cpp, lib/checkio.h, test/testio.cpp: Improved check: Sign checking in printf format string (#3511) Removed some redundant code (already covered by token list simplifications and symboldatabase) 2012-07-11 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Fixed bugs in my #3643 fix 2012-07-11 PKEuS * lib/checkclass.cpp, lib/checkinternal.cpp, lib/checkinternal.h, lib/checkio.cpp, lib/checkother.cpp, lib/checkstl.cpp, test/testinternal.cpp: Added check to CheckInternal: detect invalid patterns like "%typ%" Replaced some Token::Match by Token::simpleMatch (suggestions of internal checks) 2012-07-11 PKEuS * test/testrunner.cpp: Fixed (unexpected) compilation error: Cast argv to 'const char**' 2012-07-11 PKEuS * cli/threadexecutor.cpp, test/testrunner.cpp: Fixed warning of Intel Compiler: - standard conformant main function in testrunner.cpp Fixed warning of Intel and MSVC Compilers: - commented out unused parameter 2012-07-10 Daniel Marjamäki * rules/strlen-empty-str.xml, rules/unused-deref.xml: Added rule files based on rules suggested by jglathe 2012-07-10 Daniel Marjamäki * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #3643 (Preprocessor: Invalid configuration (macro is used in code)) 2012-07-10 PKEuS * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed parsing of C++11 initializatation in initializer list (#3957) 2012-07-10 PKEuS * lib/checkclass.cpp, test/testconstructors.cpp: Improved parsing of C++11 initializer list (#3956) in CheckClass::initializeVarList. 2012-07-09 PKEuS * test/testunusedprivfunc.cpp: Restored comment that was modified by accident. 2012-07-09 PKEuS * test/testunusedprivfunc.cpp: Fixed test failures. 2012-07-09 PKEuS * lib/cppcheck.vcxproj: Renamed target name in VS10 solution for cppcheck lib to cppcheck-core. This fixes the failure when _re_building cppcheck. Name changes: cppcheck.dll -> cppcheck-core.dll cppcheck.lib -> cppcheck-core.lib cppcheck.pdb -> cppcheck-core.pdb 2012-07-09 PKEuS * cli/cli.vcxproj, cli/cli.vcxproj.filters, lib/cppcheck.vcxproj, test/testrunner.vcxproj: Cleanup of VS10 solutions (As suggested by XhmikosR). Fixed problems: - UNICODE set correctly - Fixed path to pcre.lib; use external library directories - Removed several unnecessary and redundant flags from projects Thank you for your help, XhmikosR! 2012-07-08 Edoardo Prezioso * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/filelister.cpp, cli/filelister.h, cli/pathmatch.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkio.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.h, lib/preprocessor.cpp, lib/settings.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/token.cpp, lib/tokenize.cpp, test/testfilelister.cpp, test/testrunner.cpp, test/testsuite.cpp, test/testsuite.h, test/testsuppressions.cpp, test/testthreadexecutor.cpp: Change every C version of 'size_t' to C++ 'std::size_t'. 2012-07-09 PKEuS * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkexceptionsafety.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testexceptionsafety.cpp: Message refactorization: checkbufferoverrun.cpp (2), checkclass.cpp, checkexceptionsafety.h 2012-07-08 Daniel Marjamäki * cli/cppcheckexecutor.h, lib/checknullpointer.h, lib/templatesimplifier.h, lib/tokenize.h: fixed doxygen errors 2012-07-08 PKEuS * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Message refactorization: checkbufferoverrun.cpp 2012-07-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3913 (boundcheck, false positive continue in loop) 2012-07-08 PKEuS * test/test64bit.cpp: Committed forgotten test64bit.cpp; tests should work again. 2012-07-08 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3927 (false positive: (error) Uninitialized variable: new) 2012-07-08 PKEuS * lib/check64bit.cpp, lib/checkautovariables.cpp: Message refactorization: check64bit.cpp Added two articles in checkautovariables.cpp as suggested by kimmov 2012-07-07 PKEuS * lib/checkassignif.cpp, lib/checkautovariables.cpp, test/testassignif.cpp, test/testautovariables.cpp: Message refactorization: checkassignif.cpp, checkautovariables.cpp 2012-07-07 PKEuS * test/testbufferoverrun.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testother.cpp, test/testpostfixoperator.cpp, test/teststl.cpp, test/testunusedprivfunc.cpp: Removed preprocessor directives from tests that aren't preprocessed before being tokenized. 2012-07-07 Pino Toscano * test/testfilelister.cpp: Fixed #3947 (build failure if PATH_MAX is not defined) 2012-07-07 Tim Gerundt * htdocs/devinfo/index.php, htdocs/site/css/all.css: Web: Add also subversion command to devinfo 2012-07-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3934 (False positive for logical conjunction with enum and define) 2012-07-07 PKEuS * lib/checkio.cpp, lib/checkio.h, test/testio.cpp: Refactorized checking of scanf field width specifiers (#3946): - Removed duplicate check - Changed severity to portability, when a crash only happens with certain libc versions - Fixed handling of * in format string (#3877) - Added support for [...] pattern - Removed garbage from tests 2012-07-07 PKEuS * cli/cli.vcxproj, lib/cppcheck.vcxproj, test/testrunner.vcxproj: Define _WIN64 in VS10 solution when compiling for x64 2012-07-06 PKEuS * lib/suppressions.cpp, test/testsuppressions.cpp: Fixed #3797: _ is a valid character in suppression IDs 2012-07-06 PKEuS * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed crash on garbage code (#3870) 2012-07-06 Daniel Marjamäki * lib/tokenize.cpp: Removed simplifyEnum timer that I didn't intend to include in the previous commit. 2012-07-06 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Refactoring Tokenizer::simplifyEnum. The enum handling is now somewhat faster since all enum values of a enum are simplified at the same time. 2012-07-06 Edoardo Prezioso * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.h, lib/preprocessor.cpp: Fixed (for real) the preprocessor.cpp(1166) warning in #2123. 2012-07-05 Daniel Marjamäki * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Fixed #3617 (CLI: '-DMACRO' should be considered as '-DMACRO=1') 2012-07-04 Daniel Marjamäki * cli/cppcheckexecutor.cpp: CLI: output information messages to error report 2012-07-03 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3926 (false postive: (error) Uninitialized variable: exitpattern) 2012-07-03 Robert Morin * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improve check: warn when comparing boolean value with < <= > >=. Ticket: #2617 2012-07-03 Thomas Sondergaard * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3912 (Analysis failed) 2012-07-02 PKEuS * cli/cppcheck.rc, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: Incremented version to "1.56 dev" 2012-07-02 Daniel Marjamäki * democlient/build.sh, democlient/democlient.cpp, democlient/info.txt: democlient: added democlient files 2012-07-02 Edoardo Prezioso * lib/checkmemoryleak.cpp: Fixed the warning with GCC 4.7.1: cast from type ‘const void*’ to type ‘const char**’ casts away qualifiers. 2012-07-02 Ettl Martin * test/testmemleak.cpp: #2773 added missing testcase 2012-07-02 Daniel Marjamäki * createrelease: createrelease: added a few notes 2012-07-01 Daniel Marjamäki * win_installer/cppcheck.wxs: win_installer: Use new element 2012-07-01 Daniel Marjamäki * htdocs/index.php: htdocs: updated link to windows installer 2012-06-30 Daniel Marjamäki * win_installer/cppcheck.wxs: win_installer: minor update to wix script 2012-06-30 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2012-06-30 Daniel Marjamäki * Makefile: 1.55: Updated Makefile 2012-06-30 Daniel Marjamäki * Changelog: 1.55: Updated Changelog 2012-06-30 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.55: Set version 2012-06-30 Daniel Marjamäki * lib/checkleakautovar.h: updated --doc output 2012-06-30 Daniel Marjamäki * lib/checkleakautovar.h: updated --doc output from CheckLeakAutoVar 2012-06-30 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkleakautovar.h, test/testleakautovar.cpp: CheckLeakAutoVar: Updated error messages 2012-06-30 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #3924 (False positive: Uninitialized variable (const pointer)) 2012-06-28 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: CheckUnusedVar: dont report false positives for extern variables 2012-06-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3916 (false positive: uninitialized variable when using assignment and , in rhs) 2012-06-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3919 (False positive: uninitialized variable (extern)) 2012-06-26 Edoardo Prezioso * lib/preprocessor.cpp: Fixed the preprocessor.cpp(1166) warning in #2123. 2012-06-25 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3660 (False positive memleak (allocation function uses non-local variable)) 2012-06-24 PKEuS * lib/checkio.cpp, test/testio.cpp: Fixed #3909: Handle constructor syntax initialization. 2012-06-24 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3910 (False positive: Variable is not assigned a value (pointerArray alias)) 2012-06-24 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkleakautovar.h: Memory leaks: updated configuration handling. it's still not auto-tested. 2012-06-24 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Tokenizer: Added new function isFunctionParameterPassedByValue that check if a parameter is passed by value 2012-06-24 Ettl Martin * test/testuninitvar.cpp: #3873 added testcase to make sure false positive does not appear again. 2012-06-23 Daniel Marjamäki * test/testmemleak.cpp: added comment in test case 2012-06-23 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3904 (false positive memory leak with linked list) 2012-06-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3868 (false positive: (style) Same expression on both sides of '|'.) 2012-06-23 Daniel Marjamäki * test/testuninitvar.cpp: Refactoring TestUninitVar. Added TODO test case. 2012-06-23 Daniel Marjamäki * test/testuninitvar.cpp: Refactoring TestUninitVar. Created TestUninitVar::uninitvar_return 2012-06-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed TODO assertion (related with ticket #3106) 2012-06-23 Daniel Marjamäki * test/testuninitvar.cpp: Uninitialized variables: Added test case 2012-06-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Reviewed handling of >> in return statements in C files in UninitVar checking 2012-06-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Reviewed handling of << and >> in C files in CheckUninitVar 2012-06-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false negative when ? operator is used in rhs 2012-06-23 Daniel Marjamäki * lib/checkother.cpp: simple spell checking 'itis' => 'it is' 2012-06-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Updated arrayIndexOutOfBounds error message. Thank you Kimmo for the suggestion. 2012-06-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3907 (improve check: detect buffer overrun when using && or || in for loop) 2012-06-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Reviewed handling of unknown types in ExecutionPathBufferOverrun 2012-06-23 Robert Reif * lib/checkio.cpp, lib/checkio.h, test/testio.cpp: Improved checking of scanf format strings 2012-06-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Reviewed C handling in CheckOther::clarifyCondition, never treat x<..> as a template in C files. 2012-06-22 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Reviewed handling of unknown types in C files in UninitVar 2012-06-22 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Reviewed handling of unknown types in CheckUninitVar 2012-06-22 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3906 (false positive uninitvar for vector pointer) 2012-06-22 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Reviewed handling of unknown types in C files in checkunusedvar 2012-06-22 Daniel Marjamäki * Makefile: run dmake 2012-06-22 Daniel Marjamäki * lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testother.cpp: Fixed #3800 (False negative: Self-assignement of variable declared as 'extern') 2012-06-22 Daniel Marjamäki * lib/checkautovariables.cpp: refactoring CheckAutoVariables 2012-06-22 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkother.h, test/testleakautovar.cpp: Fixed #3895 (Improve check: double deallocation not detected (if-else)) 2012-06-22 Edoardo Prezioso * Makefile: running dmake 2012-06-21 Daniel Marjamäki * lib/errorlogger.h: astyle formatting 2012-06-21 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkuninitvar.cpp, lib/symboldatabase.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: Refactoring: Renamed CheckNullPointer::isPointer to Token::isUpperCaseName 2012-06-21 PKEuS * .gitignore: Updated gitignore as requested by kidkat1. Added bin/ folder created by VS10 2012-06-21 PKEuS * .gitignore: Updated gitignore as requested by kidkat1. Added temporary folders created by VS10 2012-06-20 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/errorlogger.h, lib/preprocessor.cpp: Fixed compiler errors 2012-06-20 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3899 (false positive: (error) Returning/using deallocated pointer fp) 2012-06-19 Daniel Marjamäki * : Merge pull request #74 from kimmov/errorlogger Refactoring information messages. 2012-06-19 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3890 (False positive Uninitialized variable on returning default value on a class member) 2012-06-19 Kimmo Varis * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.h, lib/preprocessor.cpp: Refactoring information messages. Currently the information severity messages are outputted as error messages with Severity::Information. This causes constant confusion as people think it as mildest error severity (and rightfully so). When it was meant to be for printing messages about the checking procedure itself (like missing header files etc). So I'm adding a new function for the ErrorLogger for printing these informative messages. This makes clear the distinction of errors found from the code and messages related to the checking itself. It also makes it easier for clients to handle these separately. 2012-06-18 PKEuS * readme_64-bit_Windows.txt: Updated instructions for 64-bit build on Windows for VS10 2012-06-18 Daniel Marjamäki * : Merge pull request #102 from kimmov/cleanup_pro_files Add general PRO file for console builds. 2012-06-18 Kimmo Varis * cli/cli.pro, console_common.pri, test/test.pro, tools/tools.pro: Add general PRO file for console builds. It is easier to maintain PRO files when we keep all the console- build specific general options in one file. For example changes to compiler options affect to all console builds. 2012-06-18 Daniel Marjamäki * tools/dmake.cpp: astyle formatting 2012-06-17 Edoardo Prezioso * Makefile: Run dmake. 2012-06-17 Daniel Marjamäki * : Merge pull request #99 from kimmov/tests-generate-pri Generate a test file listing with dmake. 2012-06-17 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3866 (false positive: memory leak (UNLIKELY)) 2012-06-17 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkleakautovar.h, test/testleakautovar.cpp: Code cleanup. Removed CheckLeakAutoVar::doubleDeallocationError since the same checking is already done by CheckOther::checkDoubleFree 2012-06-16 Zachary Blair * lib/checkother.cpp, test/testother.cpp: Ticket #3876: Improved check by only bailing of loops that contain break or continue 2012-06-16 Daniel Marjamäki * : Merge pull request #101 from simartin/clang_warn_fix Get rid of a warning 2012-06-16 Simon Martin * lib/config.h: Get rid of a warning 2012-06-15 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3892 (False positive: 'if (var >= 0.0) then if (var >= 0.0) always returns true 2012-06-14 Tim Gerundt * htdocs/site/js/github.js: Web: Use github.com API v3 for "Recent Commits" 2012-06-14 Daniel Marjamäki * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed #3875 (Static member method called with class name is considered unused) 2012-06-14 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed #3723 (Preprocessor evaluation order) 2012-06-14 PKEuS * cli/cli.vcxproj, lib/cppcheck.vcxproj, test/testrunner.vcxproj: Disabled C4512 in VS10 (#3882) 2012-06-13 PKEuS * lib/cppcheck.cpp: Fix for problem: "Too many #ifdef configurations - cppcheck will only check 12 of 12" 2012-06-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3855 (false positive: (error) Instance of 'locale' object destroyed immediately) 2012-06-13 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3861 (uninitialized variables) 2012-06-12 August Sodora * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3618 (segmentation fault of cppcheck) 2012-06-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3750 (false positive: C-style pointer casting) 2012-06-11 Kimmo Varis * Makefile, lib/lib.pri: Update Makefile. 2012-06-11 Kimmo Varis * test/testfiles.pri: Tests: Add generated testfiles.pri. Add the generated testfiles.pri file. Previous commits modified the dmake and test.pro to generate and use the testfiles.pri containing listing of all source files with tests. 2012-06-11 Kimmo Varis * tools/dmake.cpp: dmake: Apply small fix from Dan. This fixes the potential (but not likely to happen) case when file list is empty. Dan suggested this change when reviewing my earlier patch. 2012-06-11 Kimmo Varis * test/test.pro, tools/dmake.cpp: Tests: Generate test file listing with dmake. Use dmake to generate a test/testfiles.pri with all the files containing tests. The testfiles.pri is included by the test/test.pro, which compiles the test runner. This automates the test file listing instead of former way to hand-edit the file list. Fixes ticket #3885 (dmake needs to create a list of test files for qmake) 2012-06-11 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkleakautovar.h, test/testleakautovar.cpp: Memory leaks: Write error message when deallocated pointer is returned 2012-06-11 Kimmo Varis * tools/tools.pro: Tools: Adding a tools.pro to build dmake. 2012-06-11 PKEuS * test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Bugfix (#3844): Added 3 missing files to testrunner 2012-06-11 PKEuS * cli/cmdlineparser.cpp: Fixed #3883: 80-char overflow in help text. 2012-06-10 Zachary Blair * lib/checkother.cpp, test/testother.cpp: Fixed Ticket #3876 (Error (double free) detected that can't possibly happen) 2012-06-10 seb777 * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3579 (object destroyed immediately:False positive & negative) 2012-06-10 Ettl Martin * test/testother.cpp: #3874 added missing testcase to avoid false positives 2012-06-10 Daniel Marjamäki * test/testpreprocessor.cpp: Visual Studio: Hide VS compiler warnings for '(char)0xff' and '(char)0xfe' 2012-06-10 PKEuS * cli/cli.vcxproj, cli/cli.vcxproj.filters, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck_vs2010.sln, lib/check.h, lib/check64bit.h, lib/checkassignif.h, lib/checkautovariables.h, lib/checkboost.h, lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkexceptionsafety.h, lib/checkinternal.h, lib/checkio.h, lib/checkleakautovar.h, lib/checkmemoryleak.h, lib/checknonreentrantfunctions.h, lib/checknullpointer.h, lib/checkobsoletefunctions.h, lib/checkother.h, lib/checkpostfixoperator.h, lib/checkstl.h, lib/checkuninitvar.h, lib/checkunusedfunctions.h, lib/checkunusedvar.h, lib/config.h, lib/cppcheck.h, lib/cppcheck.vcxproj, lib/cppcheck.vcxproj.filters, lib/errorlogger.h, lib/executionpath.h, lib/mathlib.h, lib/path.h, lib/preprocessor.h, lib/settings.h, lib/suppressions.h, lib/symboldatabase.h, lib/templatesimplifier.h, lib/timer.h, lib/token.h, lib/tokenize.h, lib/tokenlist.h, test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Implemented support for building cppcheck lib into a dll Updated VS9 solution New VS10 solution that builds cppcheck into a dll used by cli and testrunner. Functional changes and advantages of new solution: - Share code between testrunner and cli; ability to share code with gui as well (not yet implemented) - Files of /lib are no longer compiled twice (should improve build time on single core machines) - Added configuration for building with PCRE support - Executables are build into /bin (/bin/debug in debug mode) folder (Should no longer require rebuild when switching between debug and release) - Completely x64 compatible (contains also x64-debug configuration now) 2012-06-10 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Handle UTF-16 files. Partial fix for ticket #2083 2012-06-09 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #3878 (Sign extension with unsigned char false positive) 2012-06-08 Daniel Marjamäki * Makefile: Makefile: updated by dmake 2012-06-08 PKEuS * lib/checkio.cpp, lib/checkother.cpp: Fixed test failures in testio caused by my last commit. 2012-06-08 PKEuS * lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkpostfixoperator.cpp, lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Refactorization: - Implemented consistent behaviour of Variable::typeStartToken/typeEndToken: Skip const and static on all variables. - Simplified patterns containing "static|" or "const|" when matching typeStartToken. 2012-06-08 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #3872 ('char variables in bit operations' warning) 2012-06-08 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3869 (References to items in array result it 'Uninitialized variable' errors) 2012-06-07 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #3865 (Suspicious condition. The result of find is an iterator, but it is not properly checked.) 2012-06-06 Daniel Marjamäki * readme.md: readme.md: simple reformatting 2012-06-06 Daniel Marjamäki * readme.md: readme.md: simple reformatting 2012-06-06 Daniel Marjamäki * readme.md: added readme.md for github 2012-06-06 Daniel Marjamäki * test/testleakautovar.cpp: Fixed TODO test case (replaced tabs with spaces in test code) 2012-06-06 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Issue useInitializationList message only on variables of class types. 2012-06-05 Ettl Martin * test/testleakautovar.cpp: #3370 changed testcase to TODO, because it is not fixed yet. 2012-06-04 Daniel Marjamäki * : Merge pull request #98 from gerundt/master "Online Demo" page for the website 2012-06-04 Ettl Martin * test/testleakautovar.cpp: added additional tests to ticket #3862 2012-06-04 Ettl Martin * test/testleakautovar.cpp: added missing testcase for ticket #3370 2012-06-02 Tim Gerundt * htdocs/demo/report/index.php, htdocs/site/css/all.css, htdocs/site/js/picnet.table.filter.min.js: Web: Online demo results table is now filterable 2012-06-02 August Sodora * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3544 (segmentation fault of cppcheck) 2012-06-02 Tim Gerundt * htdocs/demo/report/index.php, htdocs/site/css/all.css: Web: Online demo report use now a table for the results 2012-06-02 Tim Gerundt * htdocs/demo/report/index.php: Web: Demo client use now XML output 2012-06-01 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3862 (Double deallocation does not take throws into account) 2012-06-01 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkmemoryleak.cpp, test/testleakautovar.cpp, test/testmemleak.cpp: Fixed #3809 (false positive: memory leak) 2012-05-31 Daniel Marjamäki * htdocs/index.php: htdocs: Added link to the gedit plugin 2012-05-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3807 (False positive: possible null pointer dereference) 2012-05-30 Daniel Marjamäki * lib/checkleakautovar.cpp: Memory leak: Fixed unit tests that were broken by mistake by my previous commit 2012-05-30 Daniel Marjamäki * lib/checkleakautovar.cpp: Memory leak: minor updates of new leak checking. fixed condition in parseConfiguration. write info message if configuration has been given. 2012-05-30 Ettl Martin * test/testother.cpp: added tests for duplicated branches. Inspired by http://www.viva64.com/en/b/0149/ ( Comparision between PVS-Studio and cppcheck): Errors detected in Quake 3: Arena by PVS-Studio: Fragement 2 2012-05-29 Ettl Martin * test/testmemleak.cpp: added todo testcase for ticket #3809 2012-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3806 (Possible leak in public function. The pointer '' is not deallocated before it is allocated) 2012-05-29 Daniel Marjamäki * lib/checkleakautovar.cpp, test/testleakautovar.cpp: Fixed #3851 (False positive memory leak (condition)) 2012-05-29 Ettl Martin * test/testsimplifytokens.cpp: Added testcase for ticket #3852 2012-05-29 Ettl Martin * test/testother.cpp: added a testcase for detecting duplicate if else branches. 2012-05-28 Zachary Blair * lib/checkother.cpp, lib/checkother.h, lib/token.cpp, test/testother.cpp: Fixed #3794 (New check: Missing break in switch (duplicate bitwise operation)) 2012-05-28 Ettl Martin * test/testuninitvar.cpp: added testcase for ticket #3844 2012-05-27 Tim Gerundt * htdocs/demo/report/index.php, htdocs/site/css/all.css: Web: Group online demo report by line numbers 2012-05-27 Tim Gerundt * htdocs/demo/report/index.php: Web: Cut also the input source code at the online demo report 2012-05-26 Daniel Marjamäki * : Merge pull request #97 from simartin/clang_warn_fix Get rid of a warning 2012-05-26 Daniel Marjamäki * lib/checkleakautovar.cpp, lib/checkleakautovar.h: Memory leaks: Added support for a simple configuration file format. This is not supposed to become the official configuration format, it's just a temporary format that we can use to start with. 2012-05-26 Simon Martin * lib/checkuninitvar.cpp: Get rid of a warning 2012-05-26 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck_vs2010.sln, test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: VS: Generated new VS project files 2012-05-26 Daniel Marjamäki * Makefile, lib/checkleakautovar.cpp, lib/checkleakautovar.h, lib/lib.pri, test/testleakautovar.cpp: Memory leaks: Added new checking for memory leaks 2012-05-25 PKEuS * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3845 2012-05-25 PKEuS * lib/checkuninitvar.cpp, lib/checkuninitvar.h: Refactorized CheckUninitVar to use SymbolDatabase 2012-05-25 PKEuS * lib/checkassignif.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkinternal.cpp, lib/checkio.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/tokenize.cpp: Refactorizations: - Use const string references instead of const strings copies when possible - Fixed cppcheck warning about postfix increment in CheckIO - Use symbolDatabase to detect pointers in CheckOther::checkAssignBoolToPointer 2012-05-24 PKEuS * lib/checkother.cpp, lib/checkother.h, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testother.cpp, test/testsymboldatabase.cpp: Implemented Function::nestedIn to be able to identify the scope the function belongs to, even if Function::functionScope.functionOf is not available. Refactorized usage of SymbolDatabase in checkOther: - Don't copy Function instances in checkExpressionRange - Simplifications by more accurate usage of information in database 2012-05-24 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Refactorizations in checkOther: - More accurate usage of symbolDatabase to reduce code and false negatives - Avoided unnecessary construction of pattern string - Only search for class/struct definition before usage 2012-05-24 PKEuS * lib/checkother.cpp: Refactorized CheckOther::checkSizeofForArrayParameter: Use symboldatabase to detect arrays. 2012-05-23 Ettl Martin * test/testbufferoverrun.cpp: Added array index out of bounds tests to testsuite. 2012-05-23 Ettl Martin * test/testbufferoverrun.cpp: #3838 added todo-testcase 2012-05-23 Tim Gerundt * htdocs/demo/report/index.php, htdocs/site/css/geshi.css: Web: Add own CSS file for GeSHi 2012-05-23 PKEuS * lib/checkio.cpp, test/testio.cpp: Fixed crashes #3830 and #3832 2012-05-22 PKEuS * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkexceptionsafety.cpp, lib/checkmemoryleak.cpp, lib/checkstl.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Removed unnecessary variable Function::start - The value is already stored in Function::functionScope->classStart. 2012-05-22 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Initialize Function::start when the function is implemented, not when its defined. (Fixes #3826) 2012-05-22 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3634 (False positive: compareBoolExpressionWithInt when using boost::tuples) 2012-05-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: varid: better templates handling 2012-05-22 Ettl Martin * lib/checkio.cpp: fixed regression with g++-4.6 (Ubuntu Linux, 64 Bit). Moved local struct definition out of function scope. No functional change. 2012-05-22 PKEuS * lib/checkio.cpp, lib/checkio.h, test/testio.cpp: Implemented file pointer usage checking: - File I/O without positioning function call (#1742) - Read/Write to a file that was opened for writing/reading (#463) - Operations on closed file Old fflushOnInputStream check is now part of the new check. 2012-05-22 PKEuS * lib/checkclass.cpp, test/testconstructors.cpp: Fixed #3820 2012-05-22 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Hande try and do in initialization list usage check (#3823) 2012-05-22 PKEuS * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed crash in Variable::evaluate (#3825) 2012-05-21 Tim Gerundt * htdocs/demo/report/index.php, htdocs/site/css/all.css, htdocs/site/geshi/geshi.php, htdocs/site/geshi/geshi/c.php, htdocs/site/geshi/geshi/cpp.php: Web: Use GeSHi for syntax highlighting from the "online demo report" code 2012-05-20 Edoardo Prezioso * : Merge pull request #96 from asmaloney/master Remove extra semicolon 2012-05-20 PKEuS * test/testio.cpp: Added testio.cpp (I forgot to add it in previous commit) 2012-05-20 Andy Maloney * lib/checkio.h: Remove extra semicolon 2012-05-20 Tim Gerundt * htdocs/demo/index.php, htdocs/demo/report/index.php: Web: Use nicer "Online Demo Report" output 2012-05-20 Daniel Marjamäki * Makefile, lib/lib.pri: dmake: updated Makefiles 2012-05-20 PKEuS * lib/checkio.cpp, lib/checkio.h, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Splitted CheckIO from CheckOther. 2012-05-19 Edoardo Prezioso * lib/checkclass.cpp, lib/checkclass.h: Fixed: lib/checkclass.cpp:538:85: warning: declaration of ‘name’ shadows a member of 'this'. 2012-05-19 PKEuS * lib/checkclass.h, lib/checkother.cpp: Added missing checks to CheckClass::classInfo() Replaced tokAt(1) with next() in checkother.cpp 2012-05-18 PKEuS * : Merge pull request #95 from asmaloney/master Fix a couple of compiler warnings on the Mac 2012-05-18 Andy Maloney * lib/checkbufferoverrun.cpp: Fix compiler warning about initialization order 2012-05-18 PKEuS * lib/checkbufferoverrun.cpp, lib/errorlogger.h, lib/symboldatabase.h, lib/token.h: Fixed initialization list usage according to cppcheck results Fixed comments mentioning nonexistent parameters 2012-05-18 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: New check: Suggest to use initialization list instead of assignment in constructor. (#489) 2012-05-17 Tim Gerundt * htdocs/demo/index.php, htdocs/devinfo/index.php, htdocs/index.php, htdocs/site/css/all.css: Web: Add "Online Demo" page 2012-05-17 PKEuS * lib/checkclass.cpp, lib/symboldatabase.cpp: Fixed two compiler warnings spotted by edward-san (one of them was a real bug) 2012-05-17 PKEuS * lib/checkother.cpp, lib/tokenize.cpp, lib/tokenize.h: Made some functions const according to cppcheck results 2012-05-17 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed #2477 and #2669 2012-05-17 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed false positive "Function can be const" when 'this' is passed to a Memberfunction 2012-05-17 PKEuS * lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp, lib/tokenize.h, test/testtoken.cpp: Made some functions static or const according to cppcheck results 2012-05-17 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed false positives about const correctness caused by incorrect handling of default arguments 2012-05-17 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3749 (false positive: same expression on both sides of operator) 2012-05-16 Daniel Marjamäki * lib/tokenize.cpp: TestSimplifyTokens::enum29: Fixed crash 2012-05-16 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Improved fix for #2698 and added test case 2012-05-16 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Improved handling of function calls in const correctness check: Fixed #2702, #2698, #2729. 2012-05-16 Daniel Marjamäki * lib/mathlib.cpp, lib/templatesimplifier.cpp, lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3747 (False 'boolean result in bitwise' message with 'mask' enums) 2012-05-16 PKEuS * test/testtoken.cpp, test/testutils.h: Refactorizations in test suite: - Implement createOnly mode in givenACodeSampleToTokenize so that only createTokens is called instead of tokenize -> Ensures that no simplifications are done which could make the testing basic functions (like Token::Match) less accurate. We often don't need this simplifications in testtoken.cpp. -> Ensures that no validation of the source is done (Fix #2104) - reduced overhead of givenACodeSampleToTokenize: Don't store a std::istringstream instance, avoid creation of std::string when ctor is called 2012-05-16 Edoardo Prezioso * lib/mathlib.cpp: Fixed: mathlib.cpp(258): warning C4702: unreachable code. 2012-05-16 PKEuS * lib/preprocessor.cpp, test/testpreprocessor.cpp: Don't set Preprocessor::missingIncludeFlag if missingInclude warning is suppressed (#3487). 2012-05-16 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3760: Added explicit to C++ keyword list in setVarId Made some constant arrays static 2012-05-16 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp, test/testuninitvar.cpp: Improved parsing of functions that accept nullpointers but no uninitialized data (Fixed #3811) 2012-05-15 PKEuS * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed bug in symboldatabase: Don't ignore const or static on variables declared that are declared with both keywords. (Fixes #3805) 2012-05-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId: Minor fix of sizeof handling 2012-05-15 PKEuS * test/testclass.cpp, test/testconstructors.cpp: Refactorized test cases for uninitMemberVar check: - Moved all test cases to a single file (testconstructors.cpp) - Removed some redundant test cases that became unnecessary after the symbolDatabase was established as independant from this check 2012-05-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3776 (Tokenizer::setVarId: No varid set when unknown macro is used before variable declaration) 2012-05-14 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Refactorization in checkclass.cpp: - Improved handling of pointers and constants in constructor checking (-> Fixed #3801) 2012-05-14 PKEuS * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Bugfixes in SymbolDatabase: - Constant pointers are now detected as variable declarations - Probably fixed #3802 2012-05-14 Edoardo Prezioso * cli/cmdlineparser.h, cli/cppcheckexecutor.h, cli/threadexecutor.h, lib/checkbufferoverrun.h, lib/checkunusedvar.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/timer.cpp, lib/timer.h, lib/token.cpp, lib/token.h, test/options.cpp, test/options.h: Changed the order of some structures in order to improve, even if for a bit, their padding. 2012-05-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3708 (False positive: uninitialized variable (allocation, unknown nonpointer type)) 2012-05-14 Ettl Martin * test/testother.cpp: added testcase for ticket 3689 2012-05-13 Daniel Marjamäki * cli/cppcheck.vcproj, test/testrunner.vcproj: Visual Studio: Updated VS2008 project files 2012-05-13 Daniel Marjamäki * lib/tokenize.cpp, test/testsymboldatabase.cpp, test/testtokenize.cpp: Fixed #3799 (Bug: Function gets varId) 2012-05-11 PKEuS * lib/checknullpointer.cpp, lib/checkother.cpp, lib/cppcheck.cpp, lib/settings.h, test/testother.cpp: Refactorizations: - Added support for pointers in self assignement check - Removed redundant for loop in checknullpointer.cpp - Fixed warning about signed/unsigned mismatch in cppcheck.cpp by making Settings::_maxConfig unsigned 2012-05-11 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Refactorizations in SymbolDatabase: - Moved complete evaluation of variables type into one function executed when the variable is constructed - Moved SymbolDatabase::ArrayDimensions to Variable::ArrayDimensions 2012-05-09 PKEuS * lib/cppcheck.cpp: Fixed #2708: Print message before checking and after checking is interrupted if there are too many preprocessor configurations Removed redundant suppression check because the same check is done inside reportErr again. 2012-05-08 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3785 (false positive: (style) Variable 'dinv' is assigned a value that is never used) 2012-05-08 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3737 (Preprocessor: __cplusplus always defined for c++ code) 2012-05-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3691 (Tokenizer::simplifyKnownVariables: continue in switch) 2012-05-07 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #3715 (false positive checking a map bounds) 2012-05-07 PKEuS * lib/checkmemoryleak.cpp, lib/checkuninitvar.cpp, lib/cppcheck.cpp: Fixed compiler errrors and warnings mentioned in #3783 2012-05-06 PKEuS * lib/check.h, lib/checkautovariables.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/errorlogger.cpp, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testclass.cpp, test/testdivision.cpp, test/testnullpointer.cpp, test/testother.cpp, test/testsimplifytokens.cpp: Fixed #3357: - Print "inconclusive" tag in cli - Fixed inconclusive handling in checkbufferoverrun.cpp - Merged reportInconclusiveError into reportError by adding an additional parameter "bool inconclusive" which is false per default 2012-05-06 PKEuS * lib/checkmemoryleak.cpp, lib/symboldatabase.cpp, test/testtokenize.cpp: Use recently implemented new constructor of ErrorLogger::ErrorMessage in checkmemoryleak.cpp and symboldatabase.cpp Fixed test failure introduced in f105bf75a6f19230b442e9d096dbb724ded79f32 2012-05-06 PKEuS * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp: Resolved cyclic dependency between Tokenizer and TemplateSimplifier 2012-05-06 PKEuS * lib/check.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/tokenize.cpp, lib/tokenlist.cpp: Refactorizations in ErrorLogger: - Implemented constructor for ErrorLogger::ErrorMessage that takes a callstack of tokens -> replaced duplicate code in Check and Tokenizer - Implemented strigify() for ErrorLogger::ErrorMessage::FileLocation to replace two identical implementations of it. 2012-05-05 Daniel Marjamäki * test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Generated new VS2008/VS2010 project files (testrunner) 2012-05-05 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters: Generated new VS2008/VS2010 project files 2012-05-05 Daniel Marjamäki * Makefile, lib/lib.pri: Makefile: generated new Makefiles since the Tokenizer has been split up 2012-05-05 PKEuS * lib/check.h, lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkunusedfunctions.cpp, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/symboldatabase.cpp, lib/templatesimplifier.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, lib/tokenlist.cpp, lib/tokenlist.h, test/testmemleak.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/testtoken.cpp, test/testtokenize.cpp: Splitted class TokenList from Tokenizer 2012-05-05 Ettl Martin * lib/checkstl.cpp, lib/path.cpp: fixed wrong spelled words in comments. No function change. 2012-05-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3768 (Tokenizer::setVarId: no varid for 'std::string' parameter after a 'std::string' parameter called 'string') 2012-05-04 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3640 (False positive: statement begins with numeric code) 2012-05-03 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3756 (False positive: uninitvar in malloc) 2012-05-03 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h: Fixed #3778: Added missing function Function::getArgumentVar 2012-05-03 PKEuS * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Refactorizations in checkmemoryleak.cpp: - Use symbolDatabase more often to increase performance and accuracy. - Replaced indendation counter - Replaced custom stringify implementation Benchmark results (sqlite checking): 4% complete, 7% on "Memory leaks (function variables)", 9% on "Memory leaks (address not taken)" and 82% on "Memory leaks (struct members)" 2012-05-01 Ettl Martin * test/testinternal.cpp: added testcase to ticket 3727 2012-05-01 Ettl Martin * test/testuninitvar.cpp: added todo testcase for ticket 3597 2012-05-01 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3597 (Errors in evaluation of chained assignment operators) 2012-04-30 Daniel Marjamäki * : Merge pull request #94 from rpavlik/improve-pro Improve QMake pro 2012-04-30 Daniel Marjamäki * Makefile: Makefile: Updated Makefile with dmake 2012-04-30 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3771 Stronger testing for false positives in inconclusive checking in checknullpointer.cpp 2012-04-29 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3770 (Segmentation fault in K&R function parameters simplification) 2012-04-28 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: #3744 (Unexpected unused value warning for char ptr types set in switch) 2012-04-27 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Refactorizations in SymbolDatabase: - Skip struct keywords in argument list so that Variables declared like "Struct Foo bar" get a type - Remvoved redundant argument from Function::addArguments - Set Function::functionScope for global functions - Replaced some indendation counters by Token::findClosingBracket 2012-04-27 Edoardo Prezioso * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Improvement to 5b8840c6b02bd648dc2b75e60145474ae12f8e67: handle also 'const struct|union' types as template parameters. 2012-04-27 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #3764 (Tokenizer::setVarId: no varid for templated variables with const/struct/union types) 2012-04-27 PKEuS * lib/checknullpointer.cpp: Fixed #3766 2012-04-27 Edoardo Prezioso * lib/token.cpp: Fixed one of the warnings with GCC: variable shadows a member of Token class. 2012-04-27 Ettl Martin * test/testunusedvar.cpp: added testcase for ticket #3602 2012-04-26 Ettl Martin * lib/checkbufferoverrun.cpp, lib/checkother.cpp, lib/checkother.h, lib/token.cpp, lib/token.h, test/testother.cpp, test/testtoken.cpp: fixed misspelled word 'Comparision' --> 'Comparison' 2012-04-26 Daniel Marjamäki * win_installer/cppcheck.wixproj: windows installer: added clean and validate steps 2012-04-26 Daniel Marjamäki * gui/gui.pro: gui.pro: removed debug option that was added by mistake 2012-04-26 PKEuS * lib/checkmemoryleak.cpp: Refactorization in checkmemoryleak.cpp: - Fix #347: Added support for vasprintf - Use %varid% instead of the variable name 2012-04-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3755 (Tokenizer::setVarId: improve varid inside class for struct/class variables) 2012-04-26 PKEuS * lib/checknullpointer.cpp: Reverted erroneously committed lines at the end of nullpointer. Sorry for that 2012-04-26 PKEuS * lib/checknullpointer.cpp: Added a lot of functions of the C standard library to nullpointer/uninitialized buffer checking. 2012-04-26 PKEuS * lib/checkautovariables.cpp, test/testautovariables.cpp: Added support for delete and delete[] in invalidDeallocation check (fixes #1773) 2012-04-26 PKEuS * lib/token.cpp: Fix bug in class Token that causes recently added modulo-check to fail. 2012-04-26 PKEuS * cli/threadexecutor.h, lib/checkother.cpp, lib/checkother.h: Refactorizations: - removed unused function CheckOther::concatNames - Replaced one indendation counter by Token::link() in checkother.cpp - Forward declaration of Settings in threadexecutor.h 2012-04-26 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: New check: Comparision of modulo results that are always true/false. 2012-04-26 PKEuS * lib/check64bit.cpp, lib/check64bit.h, test/test64bit.cpp: Improve check: Check for 64-bit portability issues when returning pointers/integers 2012-04-26 Ettl Martin * test/testuninitvar.cpp: #3344 added missing testcase 2012-04-26 Ettl Martin * test/testmemleak.cpp: #2540: added missing testcase. 2012-04-26 PKEuS * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed #2980 2012-04-26 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2875 2012-04-25 PKEuS * test/testtokenize.cpp: Added test case for #3466 2012-04-25 PKEuS * lib/symboldatabase.cpp: Fixed #3725: Associate functions with correct parent scope when definition doesn't directly follow declaration. 2012-04-25 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed #3746: Issue operatorEqToSelf error only if the operator takes an object of the class as argument. 2012-04-25 Dirk Jagdmann * cli/cmdlineparser.cpp, man/cppcheck.1.xml: Fixed #3757 (fix command line help and manpage by replacing --max-ifdefs) 2012-04-25 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3754 (Tokenizer::simplifyKnownVariables: wrong for loop simplification) 2012-04-25 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed the grammar in some reportError messages in the Tokenizer class, thanks to kimmov's suggestion. 2012-04-25 PKEuS * lib/checkbufferoverrun.cpp, lib/checkinternal.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/checkuninitvar.cpp, lib/checkunusedvar.cpp, lib/templatesimplifier.cpp, lib/tokenize.cpp: Make use of recently implemented Token::type() functionality 2012-04-24 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3707 (Uninitialized variable with operator >> and templates) 2012-04-23 PKEuS * lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testtoken.cpp: Refactorizations in class Token: changed handling of different types of tokens. - Replace _isNumber, _isName, _isBoolean attributes by a single _type attribute (enum Token::Type), because not two of the old booleans could be true at the same time. -> Add support for lots of different other kinds of tokens. (More precise checking of token type possible) -> Replaced instant checking of type for Operators, etc. by a value calculated at creation time. (Faster checking) 2012-04-23 PKEuS * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Changed relationship between templatesimplifier and tokenizer: - Pass a tokenizer to templatesimplifier to reduce code duplication (Make use of Tokenizer::reportError; remove redundant TemplateSimplifier::addtoken2) and amount of arguments passed to functions Removed ctor and dtor implementation from TemplateSimplifier: This class shouldn't be instanciated. 2012-04-23 Daniel Marjamäki * lib/tokenize.cpp, test/testnullpointer.cpp, test/testtokenize.cpp: Tokenizer::setVarId: better handling of initializer lists 2012-04-23 PKEuS * lib/checkmemoryleak.cpp: Refactorizations in CheckMemoryLeakInClass::variable - Bailout for functions that are not implemented (should fix performance downgrade introduced in fb4709f) - Jump behind arguments - Removed unnecessary pop_back operations - container gets destroyed after it. 2012-04-22 Ettl Martin * test/testtokenize.cpp: added unittest to fix sample code #3721 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3748 (False positive out of bounds with postincrement) 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp, test/testunusedvar.cpp: Tokenizer: Use new setVarId function. Removed the old one. 2012-04-22 PKEuS * lib/tokenize.cpp, lib/tokenize.h: Implemented generic reportError functions in tokenizer (similar to Check::reportError) to reduce code duplication 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: don't treat '(sizeof *p)' as a variable declaration 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed issue found through TestUnusedVar tests 2012-04-22 Daniel Marjamäki * test/testunusedvar.cpp: Tokenizer::setVarIdNew: Removed test case in TestUnusedVar that fails with the new setVarId function. The new setVarId function assumes that 'static int i(a);' is a variable declaration if it's in a executable scope (it is unknown if 'a' is a type or a variable so this assumption could be wrong). 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarId: fixed problem for classes with inheritance 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed TestTokenizer::varid38 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed test case TestTokenizer::varid27 2012-04-22 Daniel Marjamäki * test/testtokenize.cpp: testrunner: fixed test case when TestTokenizer::setVarIdOld is used 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed TestTokenizer::varid39 test case 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed TestTokenizer::varid44 2012-04-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: fixed TestTokenizer::varid_in_class2 test case 2012-04-22 Ahti Legonkov * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3699 (cppcheck hangs with 100% cpu load on parsing preprocessor code) 2012-04-22 Edoardo Prezioso * test/testtokenize.cpp: Added missing testcase from previous commit. 2012-04-22 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3721 (false positive: syntax error on valid C code ( K&R function style )). 2012-04-21 PKEuS * lib/checkmemoryleak.cpp, lib/checkstl.cpp, lib/checkuninitvar.cpp: Refactorizations: - Replaced some indendation counters by Token::link() or usage of symbolDatabase - Use Token::nextArgument() to jump to target parameter 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed TestTokenizer::varid_operator test case 2012-04-21 Daniel Marjamäki * test/testtokenize.cpp: TestTokenizer: Removed varid test cases that have impossible source code 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed TestTokenizer::varid19 test case 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed segfault when using new setVarId on invalid code 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: handle special case when there is an unknown macro. Ticket #2638 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Improved C++ handling. All the TestTokenizer::varidclass?? tests pass now. 2012-04-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Fixed varidclass9 2012-04-21 Daniel Marjamäki * htdocs/index.php, lib/tokenize.cpp: Tokenizer::setVarIdNew: Better C++ handling (varidclass5 and varidclass13) 2012-04-19 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarId: better C++ handling 2012-04-19 Ettl Martin * test/testunusedvar.cpp: removed some c++-comments within testcases ( from my last commit ). No functional change. 2012-04-19 Ettl Martin * test/testunusedvar.cpp: #3742 added testcases to ensure it works correctly. 2012-04-18 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Refactorizations in checkclass.cpp: - Removed local isVirtual implementation in checkclass.cpp, use Function::isImplicitlyVirtual instead - Don't bailout when we see C++-style casts in checkConst - Don't bailout for this pattern "any << member << any" - Improved/Fixed some test cases (-> #1305) 2012-04-18 PKEuS * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp: Fixed #3741 Removed redundant nullpointer check (cppcheck catch) 2012-04-18 PKEuS * lib/templatesimplifier.cpp: Make use of Token::findClosingBracket in templatesimplifier.cpp 2012-04-18 PKEuS * lib/checkclass.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testsymboldatabase.cpp, test/testtoken.cpp: Implemented generic mechanism for '<'-'>' "linkage" before link() works (Taken from Scope::findClosingBracket, but C++11 right angle bracket support added): Token::findClosingBracket -> Replaced several indendation-counting mechanisms in tokenize.cpp Fixed build failure in checkclass.cpp 2012-04-18 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Refactorizations in SymbolDatabase: - Replaced Scope::access by a locally stored std::map, because its a temporary status variable that is only necessary when creating the symboldatabase - Moved SymbolDatabase::argsMatch to Function::argsMatch, because its function specific - Improved Scope::findClosingBracket: Improved reliability, made it static and faster 2012-04-18 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed false positive in stlBoundries check (#3740) 2012-04-17 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Added Function::isImplicitlyVirtual to symboldatabase.cpp Made SymbolDatabase::argsMatch static because its possible and necessary for Function::isImplicitlyVirtual 2012-04-17 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: better handling of class variables 2012-04-17 PKEuS * test/redirect.h, test/testsuite.h, test/testtoken.cpp: Refactorizations in test suite: - Removed another custom stringify implementation (testtoken.cpp) - Removed unnecessary forward declaration (testsuite.h) - Use std::ostringstream instead of std::stringstream (redirect.h) 2012-04-17 PKEuS * lib/checkother.cpp, lib/checkstl.cpp, test/testother.cpp, test/teststl.cpp: Added several C++11 algorithms and containers to CheckStl Added pattern "> %varid%" to CheckStl::stlBoundries() Fixed message in checkOther (#1320) 2012-04-17 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Refactorized CheckStl::mismatchingContainersError: - Improved error message - Made patterns more generic by using Token::nextArgument() 2012-04-17 PKEuS * test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Refactorizations in test suite: - Removed redundant tokenization helper functions in testtokenize.cpp and testsimplifytokens.cpp - Pass arguments as const char[] or const std::string& to avoid instanciation or at least copying of strings - Removed redundant calls to Tokenizer::validate() - This function is already called implicitly by tokenize() and simplifyTokenList() 2012-04-17 Ettl Martin * lib/tokenize.cpp, test/testclass.cpp: ticket 2669: added todo testcase 2012-04-16 Reijo Tomperi * lib/checkstl.cpp: Fix spelling error: unecessary unnecessary 2012-04-16 PKEuS * test/testbufferoverrun.cpp, test/testmemleak.cpp: Refactorizations in test suite: - Removed again one custom stringify implementation - Avoided unnecessary std::string creation in testbufferoverrun.cpp 2012-04-16 PKEuS * cli/cmdlineparser.cpp, lib/checkother.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Refactorized stringification of tokens: - Function that stringifies one token: Token::stringify() - Functions that stringify a list of tokens: Token::stringifyList() -- Single and powerful "base" function, used by several "light" functions Refactorized - testtokenize.cpp and testsimplifytokens.cpp: Use improved stringification functions instead of several local implementations - Avoided redundand creation of std::string when using TestTokenizer::tokenizeAndStringify and in cmdlineparser.cpp 2012-04-16 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: Copied code from Tokenizer::setVarIdOld that sets varid in member functions 2012-04-16 Daniel Marjamäki * win_installer/cppcheck.wxs: win_installer: include libpcre-0.dll in installation 2012-04-16 Daniel Marjamäki * win_installer/cppcheck.wxs: win_installer: add libgcc_s_dw2-1.dll (#3728) 2012-04-16 Daniel Marjamäki * win_installer/cppcheck.wxs: win_installer: remove english translation file 2012-04-16 PKEuS * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: New simplification: Remove 'extern "C"' from C++ code. Refactorization in cppcheck.cpp: Catch exception as const reference instead of non-const reference. 2012-04-16 PKEuS * lib/token.cpp, lib/token.h: Refactorizations in class Token: - Added support for < and > in nextArgument() - Made isStandardType inline by writing its implementation to token.h (like other bool is*() functions) - Made firstWordEquals return bool instead of integer (only 0 and 1 were returned) - Use std::string::empty() instead of operator==(""); Use character literals instead of string literals for single characters printed. 2012-04-16 PKEuS * lib/tokenize.cpp: Refactorizations in tokenize.cpp: - Removed a few indendation counters - Removed unnecessary pattern "- >" because this code is simplified to "." before. - Generalized pattern of simplifyFunctionReturn() - Simplified removeExeptionSpecification, no longer recursive (-> #3385) 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: handle c++ keyword 'using' 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: in C code, allow that variable declaration starts with delete and throw 2012-04-15 Daniel Marjamäki * lib/templatesimplifier.cpp: TemplateSimplifier: Allow that template parameter starts with :: 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::setVarIdNew: variable declarations dont start with NOT/goto/return/delete/etc 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: Better handling of function calls 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: Better handling for catch-exception-by-reference 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew: use the new setVarId with a few more test cases. Improved setVarId: references in executable scopes must be initialized. 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew : use new setVarId function in TestTokenizer::varidReturn2. 2012-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarIdNew : enable more testcases. better handling of unions and struct members. 2012-04-15 PKEuS * cli/cmdlineparser.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h: Removed deprecated cmdline options -s, --style, -a, --all, --auto-dealloc, --test-2-pass 2012-04-15 Daniel Marjamäki * test/testtokenize.cpp: testrunner: use new Tokenizer::setVarId function in some unit tests 2012-04-15 Daniel Marjamäki * lib/templatesimplifier.cpp, lib/tokenize.cpp, lib/tokenize.h: Tokenizer::setVarId : Starting to rewrite Tokenizer::setVarId. The purpose of the rewrite is to make this function faster. 2012-04-15 PKEuS * cli/cppcheck.rc, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: Set version to "1.55 dev" 2012-04-15 Daniel Marjamäki * win_installer/cppcheck.wixproj, win_installer/cppcheck.wxs, win_installer/readme.txt: windows installer: updated scripts and info 2012-04-15 Daniel Marjamäki * createrelease: createrelease: minor update 2012-04-15 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2012-04-15 Daniel Marjamäki * Makefile: 1.54: Updated Makefile 2012-04-15 Daniel Marjamäki * Changelog: 1.54: Updated Changelog 2012-04-15 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.54: updated version numbers 2012-04-15 Daniel Marjamäki * createrelease: createrelease: minor update to notes 2012-04-14 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #3714 (segmentation fault of cppcheck checking libtiff) 2012-04-14 PKEuS * cli/cmdlineparser.cpp, gui/selectfilesdialog.cpp, gui/selectfilesdialog.h, man/cppcheck.1.xml: Fixed/Improved description of -rp/--relative-paths run astyle 2012-04-14 PKEuS * cli/cmdlineparser.cpp, lib/path.cpp, test/testpath.cpp: Fixed crash when "-rp=" or "--relative-paths=" is given - print Error. 2012-04-14 Reijo Tomperi * man/cppcheck.1.xml: Add -rp to man file 2012-04-14 Reijo Tomperi * gui/selectfilesdialog.cpp, gui/selectfilesdialog.h: Add missing license text to gui/selectfilesdialog.* files 2012-04-13 PKEuS * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #3722: Handle associative law correctly for operator* 2012-04-13 PKEuS * cli/pathmatch.h, lib/templatesimplifier.cpp: Removed code that became unnecessary after 7be01da8e909174d4b3afcbcf3c8f4b0287c7cd2. Fixed wrong comment in cli/pathmatch.h (doxygen warning) 2012-04-13 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3712 (false positive: syntax error on valid C code ( K&R function style )) 2012-04-12 Ettl Martin * lib/mathlib.cpp, lib/mathlib.h, test/testmathlib.cpp, test/testother.cpp: fixed ticket 3693. Added modulus operator to Mathlib + unittests. Added a test to checkother to ensure the testcase of ticket 3693 does not trigger an error message. 2012-04-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Reverted 81318b3f to get rid of #3669 false positives 2012-04-10 Daniel Marjamäki * lib/tokenize.cpp: astyle formatting 2012-04-10 Daniel Marjamäki * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h: Tokenizer: allow that time is measured for certain slow simplifications 2012-04-09 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3705 (cppcheck crash (null pointer exception)) 2012-04-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3700 (false positive: (style) Variable 'H' is not assigned a value) 2012-04-09 Daniel Marjamäki * lib/symboldatabase.cpp, test/testunusedprivfunc.cpp: Fixed #3661 (False positive: unusedPrivateFunction) 2012-04-09 PKEuS * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed false negative in unused functions check when function returns reference Removed some unnecessary loops 2012-04-09 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: false poitive - invalid iterator after break 2012-04-08 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3609 (clarifyCondition delivers false positives when using Windows-Traits as a template) 2012-04-08 Daniel Marjamäki * cli/threadexecutor.cpp: fixed compiler errors 2012-04-08 PKEuS * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/cppcheck.h: Removed unused variable CppCheck::_errout. 2012-04-08 Daniel Marjamäki * man/manual.docbook: manual: recommend that xml format version 2 is used 2012-04-08 PKEuS * cli/filelister.cpp: Improvements to filelister under Windows: - Passed string parameters as const references - Give correct string size to WinAPI functions (they take the number of characters, not the size in bytes (as used two times) and not the size in bytes plus 1 (as used one time)) - Fixed compiler warning C4293 by hiding the code for 32bit systems - store result of wcslen(ffd.cFileName) instead of calculating it twice 2012-04-08 Daniel Marjamäki * lib/checkother.cpp: CheckOther: Use reportInconclusiveError to report inconclusive error 2012-04-08 PKEuS * cli/cppcheckexecutor.cpp: Fixed crash when --errorlist is given (#3711) 2012-04-07 PKEuS * : Merge pull request #93 from simartin/clang_warn_fix Avoid clang warning. 2012-04-07 PKEuS * cli/threadexecutor.cpp: Fixed compilation error (#3709) 2012-04-06 PKEuS * lib/cppcheck.cpp, lib/errorlogger.cpp, lib/settings.cpp, lib/settings.h: Refactorizations: - Added forgotten initialization of Settings::_relativePaths - Some PCRE-Rules specific code hidden behind HAVE_RULES - Use initialization list in ErrorLogger::ErrorMessage::ErrorMessage() and CppCheck::CppCheck - Avoided unnecessary copies of std::strings in cppcheck.cpp - Moved "// Alert only about unique errors"-code to make it work in debugFalsePositive mode 2012-04-06 PKEuS * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, gui/checkthread.cpp, lib/cppcheck.cpp, lib/cppcheck.h, test/testsuppressions.cpp: Avoid copying Settings in CppCheckExecutor 2012-04-06 PKEuS * cli/cmdlineparser.cpp, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/settings.h, lib/tokenize.cpp, test/testcmdlineparser.cpp, test/testpath.cpp: Implemented #2990: Print relative paths if -rp or --relative-paths is given 2012-04-05 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3383: If there is an empty line between subsequent break statements, only issue a message for inconclusive checking 2012-04-05 PKEuS * lib/checkclass.cpp, lib/checkclass.h: Improvements in checkclass.cpp: - Generalized CheckClass::noMemset: -- Checking for all three mem...-functions for all patterns, generalized them so that we need less patterns -- Use nextArgument() to jump over irrelevant arguments - Replaced CheckClass::hasDeallocation by CheckClass::hasAllocation: -- Reduced number of false negatives by returning also true whenever a member variable is allocated (also without previous deallocation) -- Reduced code duplication - Removed indendation counter and redundant variable in CheckClass::initializeVarList 2012-04-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3650 (Variable declaration: Doesn't handle template usage well) 2012-04-04 Stefan Weil * lib/checkclass.cpp: Fix compiler warning gcc warning: lib/checkclass.cpp: In member function ‘void CheckClass::checkConst()’: lib/checkclass.cpp:1197: warning: declaration of ‘name’ shadows a member of 'this' Rename local variable 'name' to 's'. Signed-off-by: Stefan Weil 2012-04-04 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Improved checks in CheckStl: - Generalized check for inefficient emptiness check to detect !%var%.size() calls also outside of if and while; detect it also for %var%.size() when linked with && or ||. Refactorizations in CheckStl: - Removed an indendation counter and an offset variable - Reduced distance given to tokAt calls in CheckStl::redundantCondition - Rearranged code in CheckStl::missingComparison to use more efficient comparision of varIds instead of variable names. Use varId in pattern instead of variable name. 2012-04-04 PKEuS * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Improved checks in CheckStl: - Improved message of stlIfStrFind according to discussion on github (77d9ed18775bd2181ec518b1e7d2c842bb3da644) - Generalized pattern for substr in CheckStl::uselessCalls; added check for substr calls like ".substr(%any%,0)" which result in an empty string. 2012-04-03 Edoardo Prezioso * lib/tokenize.cpp: Make 'const' the new variable 'funcName'. 2012-04-03 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed #3162: Check whole condition for suspicious find calls. 2012-04-03 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3703 (false positive: syntax error on valid C-code ( K&R - style )). 2012-04-03 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3701 (false positive: syntax error on valid C code ( K&R function style ). 2012-04-02 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improved CheckOther::checkComparisonOfBoolWithInt and CheckOther::checkComparisonOfBoolExpressionWithInt: - Added support for comparision of bool constant with number constant (-> fixed #1877) and integer variable with boolean expression - Moved a check from checkComparisonOfBoolWithInt to checkComparisonOfBoolExpressionWithInt - Generalized some patterns - Made error message more accurate concnerning the "neither 0 nor 1" part. - Reduced number of Token::Match calls 2012-04-02 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Improved nullpointer check: - Fixed #3673 - Fixed potential issue with constructor calls (like #3697) - Added support for operator+ on std::string 2012-04-02 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed #3676. 2012-04-02 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed #3697. 2012-04-01 Ettl Martin * test/testnullpointer.cpp: astyle run 2012-04-01 Ettl Martin * test/testnullpointer.cpp: #1927 added testcase. 2012-03-31 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3580 (syntax error in multi variable declaration header). 2012-03-31 PKEuS * lib/executionpath.cpp: Fixed another memory leak in executionpath.cpp 2012-03-31 PKEuS * : Merge pull request #92 from HeisSpiter/master Fix memory leak 2012-03-31 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #3532 (false positive : missing constructor) 2012-03-28 Daniel Marjamäki * : Merge pull request #91 from HeisSpiter/e46c7eb32033b520374e9df8c13bc8589c0602d0 Handle Rtl memory functions in Tokenizer::simplifyMicrosoftMemoryFunctions() 2012-03-28 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed #3594 (false positive: returning reference to auto variable) 2012-03-27 PKEuS * lib/checkother.h, lib/templatesimplifier.cpp, test/testother.cpp: Improved simplification of calculations: - Use more generic patterns - Look on operator precedence more consequently -> Made a TODO test case from a test case that worked previously, because the calculation is simplified so that the problem isn't detected any more. Changed comment "Coding style checks" to "Checks", because it didn't fit 2012-03-27 Pierre Schweitzer * lib/tokenize.cpp, test/testtokenize.cpp: Add the RTL memory functions for the simplifications on Windows code. 2012-03-27 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: fixed tests 2012-03-27 PKEuS * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkstl.h, lib/checkuninitvar.h, test/testbufferoverrun.cpp: Refactorizations: - Increased encapsulation by making some functions private - Removed redundant function CheckBufferOverrun::ArrayInfo::declare - Avoided copy of ArrayInfo object - Removed unnecessary and suspicious "if(sizeof(int) == 4)" 2012-03-27 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #3534 (Broken support for dollar signs in identifiers) 2012-03-26 PKEuS * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3687: Don't treat catched variables as local ones. 2012-03-26 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #3573 (Preprocessor: handle '!(X)' the same as '!X') 2012-03-25 Daniel Marjamäki * webreport.sh: webreport.sh: changed pmd version back to 4.2.6 2012-03-25 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Made invalidPointerCast message inconclusive for casting from floating point type* to char* (Fixed #3639) 2012-03-25 Daniel Marjamäki * test/testerrorlogger.cpp: xml: fixed test case. 2012-03-25 Daniel Marjamäki * lib/errorlogger.cpp: xml: Add attribute 'inconclusive' to the xml (format version 2) 2012-03-25 Daniel Marjamäki * lib/checkother.cpp, lib/token.cpp: astyle formatting 2012-03-25 Daniel Marjamäki * : Merge pull request #89 from HeisSpiter/master Merged two checks to get a better one regarding sizeof 2012-03-25 PKEuS * test/testsimplifytokens.cpp: Added test case for #3619 2012-02-25 August Sodora * lib/tokenize.cpp: 3619 Check that tok2->next() exists before using 2012-03-24 Edoardo Prezioso * cli/threadexecutor.cpp, lib/token.cpp: Nitpicky style change: use 'for(;;)' construct instead of 'while(true)' in the code. 2012-03-24 PKEuS * lib/checkclass.cpp, lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed #3360: "type const* var;" is now recognized as variable declaration. 2012-03-24 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed #3252 Make use of std::isupper instead of custom implementation 2012-03-24 PKEuS * lib/checkclass.cpp: Check for unused private functions now handles overloads - removed redundant and less powerful duplicate of CheckClass::isVirtualFunc. CheckClass::initializerList does now also check copy constructors Started fix for #3682: use reportInconclusiveError 2012-03-24 Daniel Marjamäki * : Merge pull request #88 from leg0/ticket_3675 Fixed ticket #3675. 2012-03-23 PKEuS * lib/checkother.cpp, lib/checkstl.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Store functions which are declared but not implemented in the function list of the containing scope -> Fixed #3679 Refactorizations: - Simplified some code - Improved condition in findVariableType to reduce unnecessary comparisions of empty strings. 2012-03-23 Ahti Legonkov * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket #3675. 2012-03-21 Daniel Marjamäki * : Merge pull request #87 from HeisSpiter/master Fix a bug introduced with a previous commit and add a new check 2012-03-21 PKEuS * lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #3677 Added forgotten testcase for #3672 2012-03-20 Pierre Schweitzer * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fix line number displayed on leakNoVarr error 2012-03-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3648 (Internal error: Token::Match called with varid 0) 2012-03-20 Daniel Marjamäki * lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Revert "Fixed #3648 (Internal error: Token::Match called with varid 0)" This reverts commit 1fa1ddccbaaf1b0e3506b71bdcb337d952f60be3. 2012-03-20 Daniel Marjamäki * lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #3648 (Internal error: Token::Match called with varid 0) 2012-03-19 PKEuS * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Implemented support for C++11 right angle brackets (>>) Implemented support for linkage between < and > (Information: It is possible that under certain circumstances comparision operators are linked, since its sometimes difficult to separate between them.) 2012-03-19 PKEuS * lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3672: bitwise and operator in if/while does no longer confuse setVarId code Improvements to CheckUnusedVar: - Improved handling of arrays of struct/class instances - Differ between addressof and bitwise-and operator - Made some members private to improve encapsulation - Replaced some simple patterns by direct function calls - Removed an unnecessary condition 2012-03-01 Stefan Weil * test/testpreprocessor.cpp: test: Fix preprocessor code in test data This is not valid preprocessor code: #ifdef A == 1 Signed-off-by: Stefan Weil 2012-01-18 Stefan Weil * gui/help/manual.html, man/manual.docbook: manual: fix grammar in documentation 2012-03-18 Pierre Schweitzer * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Updated error message about not taking return value from function that returns allocated memory 2012-03-18 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3671 (False positive: Resource leak: fd) 2012-03-18 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #3670 (false positive: Allocation with open never assigned) 2012-03-17 PKEuS * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: Refactorizations on buffer overrun check: - Replaced a few indendation counters by smaller and faster code - Make use of safer nextArgument() function instead of some local implementations - Replaced some simple patterns by direct function calls - Made a strncpy/strncat search pattern more generic - Replaced offset variable by incrementation of Token* to avoid subsequent calls to tokAt - Increased data encapsulation in header 2012-03-17 PKEuS * lib/tokenize.cpp, lib/tokenize.h: Refactorizations in tokenizer: - getSourceFilePath returns a const reference now - Replaced some simple patterns by string comparisions/direct function calls - Replaced a few indendation counters by easier code - Replaced one offset variable by token pointer to avoid subsequent calls to tokAt with the same number 2012-03-17 PKEuS * lib/checkmemoryleak.cpp: Fixed crash in checkmemoryleak.cpp reported by HeisSpiter 2012-03-16 PKEuS * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: Refactorizations in checkmemoryleak: - Replaced two indendation counters and one variable storage by symboldatabase functions - Removed zero-element at end of two static arrays - More accurate algorithm for finding a parameter by varid - Replaced some simple tokens by direct string comparision - Made some functions in checkmemoryleak.h private to improve encapsulation 2012-03-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3666 (False positive: Uninitialized variable (taking address)) 2012-03-16 PKEuS * lib/checknullpointer.cpp, lib/checknullpointer.h, test/testnullpointer.cpp: Improved nullpointer check: Detect dereferences by streams (#410) Refactorizations: - Replaced || by %oror% in Token::Match patterns - Replaced some simple patterns by direct comparisions, replaced Match call with simpleMatch - Increased data encapsulation by making more members private in CheckNullpointer 2012-03-15 PKEuS * lib/checkother.cpp, lib/checkother.h: Fixed recently introduced assertion failure in debug mode 2012-03-15 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improved CheckOther::checkIncorrectLogicOperator: - Added a lot of additional pattern - Rewrote error messages to make them more understandable and better fitting to the situation. (Fixed #3664) - Cleanup in unit tests Improved message of static string comparision check 2012-03-15 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #3536 (Preprocessor #if fails to correctly compare two #defined values) 2012-03-15 Daniel Marjamäki * : Merge pull request #84 from HeisSpiter/master Fix for bug #3439 2012-03-15 Pierre Schweitzer * lib/checkmemoryleak.h: Set back getErrorMessages() as private 2012-03-14 Pierre Schweitzer * test/testmemleak.cpp: Add two tests for the new memory leak detection 2012-03-14 Pierre Schweitzer * lib/checkmemoryleak.h: Define error messages for --errorlist for CheckMemoryLeakNoVar class 2012-03-14 Pierre Schweitzer * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: Detect and display an error on leaks due to return of a function that allocates something is ignored. This fixes #3439 2012-03-14 Daniel Marjamäki * lib/checkmemoryleak.cpp: CheckMemoryLeak: report debug warning when variable id is 0. Ticket #3527 2012-03-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed #3569 (false negative: buffer access out of bounds) 2012-03-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp: CheckBufferOverrun: move condition before loop 2012-03-12 PKEuS * lib/checkother.cpp, test/testother.cpp: Improved CheckOther::checkIncorrectLogicOperator: - Implemented automatic swapping of conditions and operands - Added several patterns - Added support for conditions outside of if/while 2012-03-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify known variable value inside conditional block 2012-03-11 PKEuS * lib/checkclass.cpp: Renamed ID uninitialized member variables in constructors to "uninitMemberVar" to avoid ambiguity (#2715) Refactorizations: - Replaced another single-token-pattern - Replaced a "continue" with a "break" statement, because its safe to assume that only one variable with a specific ID can exist in a scope 2012-03-11 PKEuS * lib/checkclass.h, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improved static string comparision check: Implemented #3214 Fixed false negative on argument count of fnprintf/snprintf when first variable argument is a string. (#3655) Uncommented call of virtualDestructorError in getErrorMessages in checkclass.h Refactorizations: - Rearranged code in checkother.h to make ordering more consistent and to increase encapsulation of private data - Replaced some single-token-patterns 2012-03-10 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: charvar: dont write warning about char type array index when array is small and the full valid range is accessible with the char type. If there are out of bounds access then, it is not because the type of the variable. 2012-03-08 PKEuS * : Merge pull request #83 from simartin/clang_warn_fix Fixed shadowing warning 2012-03-07 August Sodora * lib/checknullpointer.cpp, lib/templatesimplifier.cpp, test/testnullpointer.cpp, test/testtokenize.cpp: Fixed #3567 (False positives in boolean expressions) 2012-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: fixed #3649 (False Positive: Uninitialized variable using operator assignment) 2012-03-04 larudwer * gui/resultstree.cpp: on Windows Backslashes in Pathnames must be double quoted, otherwise some editors like e.c. SciTE are not able to open the file. 2012-03-03 PKEuS * lib/checkother.cpp, test/testother.cpp: Improved bitwise on boolean check to make it working on more code patterns Refactorizations in checkother.cpp: - Make use of symboldabase instead of: indentation counters, manual detection of variable declarations - Removed some indexing variables to reduce calls to tokAt and the numbers given to this function - Use tok->nextArgument() to jump to a specific argument 2012-03-02 PKEuS * AUTHORS, gui/cppcheck_de.ts: Updated german translation (nearly complete) Added my name to AUTHORS (forgotten for a long time) 2012-03-01 PKEuS * : Merge pull request #82 from vBm/master Cosmetics regarding AUTHORS 2012-03-01 PKEuS * : Merge pull request #81 from vBm/master Updated Serbian localization file. (yet to be translated) 2012-02-29 Stefan Weil * lib/cppcheck.cpp: Fix compilation with HAVE_RULES=yes Signed-off-by: Stefan Weil 2012-03-01 PKEuS * lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkother.cpp, test/testautovariables.cpp, test/testsimplifytokens.cpp, test/teststl.cpp: Improved checkautovariables: - Added support for checking a few more code patterns - Simplified code by using more information from the symboldatabase - Moved redundant part of c_str-check to checkstl Two fixes according to output of pvs studio in testsimplifytokens.cpp 2012-02-29 PKEuS * cli/cppcheckexecutor.cpp, lib/checkunusedvar.cpp: Refactorized doAssignement: - Enhanced performance by directly iterating through the token list instead of index access - Added more allocation functions - Simplified code Replaced avoidable strlen call in cppcheckexecutor.cpp 2012-02-29 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: better handling of '#if A==1' 2012-02-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3596 (memory leak false positive on libedit sources) 2012-02-27 Ettl Martin * lib/checkother.cpp: fixed compiler warning (gcc-4.6.1) 2012-02-26 Ettl Martin * lib/checkunusedfunctions.cpp: fixed regression 2012-02-26 PKEuS * lib/check.h, lib/checkbufferoverrun.cpp, lib/checkother.cpp, lib/checkother.h, lib/cppcheck.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testcharvar.cpp, test/testother.cpp: Added check for invalid pointer casts (#1255) Detect sign extension problems when variable is a reference (#3637) Refactorizations: - Tokenizer::getFiles returns a reference instead of a pointer, because its guaranteed that no nullpointer is returned - Remove signed/unsigned in one step for "%type% signed|unsigned" - Fixed recently introduced compiler warning in symboldatabase.cpp 2012-02-26 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: move . this fixes compiler errors when compiling with some old gcc 3.X compiler 2012-02-26 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3633 (False positive: struct array not assigned a value) 2012-02-26 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improve 'Tokenizer::elseif' code in order to not touch 'else if' inside a macro parenthesis. 2012-02-25 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3583 (False positive Variable X is assigned a value that is never used) 2012-02-25 PKEuS * lib/checkstl.cpp, lib/checkstl.h, lib/tokenize.cpp, lib/tokenize.h, test/teststl.cpp: Improved STL checks: - Added performance checking for .c_str() for return values and function parameters (#1079) - Added more containers (basic_string, C++11 containers) and more functions to checking (.at, .resize, .reserve, ...) - Make use of symboldatabase in missingComparision check 2012-02-24 PKEuS * cli/cppcheckexecutor.h, lib/checkclass.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/templatesimplifier.h, lib/tokenize.h, test/testsymboldatabase.cpp, test/testunusedprivfunc.cpp: Improved unused private function check: - Fixed #3628 - Added support for friend Improved symbol database: - friend scopes are now set - Added findScopeByName function Refactorizations: - Removed some unnecessary "virtual" keywords - Removed unnecessary _filename member variable, pass it as argument instead - Made CppCheck::replaceAll static, since it is independant from a specific CppCheck instance, Pass string to be modified by reference 2012-02-19 PKEuS * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/filelister.cpp, cli/filelister.h, cli/pathmatch.cpp, cli/pathmatch.h, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h, test/testfilelister.cpp, test/testpathmatch.cpp, test/testsuppressions.cpp, test/testthreadexecutor.cpp: Refactored STL container usage in CLI. Pathmatcher masks are converted to lowercase only once when instance is created 2012-02-19 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3608 (unreadVariable when variable used in inline assembly) 2012-02-19 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3603 (False Positive: Variable is assigned a value that is never used) 2012-02-18 PKEuS * cli/cppcheckexecutor.cpp, lib/check.h, lib/check64bit.h, lib/checkassignif.h, lib/checkautovariables.h, lib/checkboost.h, lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkexceptionsafety.h, lib/checkinternal.h, lib/checkmemoryleak.h, lib/checknonreentrantfunctions.h, lib/checknullpointer.h, lib/checkobsoletefunctions.h, lib/checkother.h, lib/checkpostfixoperator.h, lib/checkstl.h, lib/checkuninitvar.h, lib/checkunusedfunctions.h, lib/checkunusedvar.h, lib/cppcheck.h, lib/timer.cpp, lib/timer.h, lib/tokenize.cpp, lib/tokenize.h: Some refactorizations 2012-02-18 Zachary Blair * test/testother.cpp: Ticket #3598 - Added a missing ASSERT_EQUALS() statement to the end of checkDoubleFree() 2012-02-18 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3616 (segmentation fault of cppcheck). 2012-02-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testuninitvar.cpp: Tokenizer::simplifyVarDecl: Don't simplify inside parenhteses 2012-02-18 PKEuS * cli/pathmatch.cpp, cli/pathmatch.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/settings.h, lib/suppressions.cpp, lib/suppressions.h, test/redirect.h: Some refactorizations 2012-02-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyCasts: don't simplify 'f((double)(v1)*v2)' to 'f(*v2)' 2012-02-18 PKEuS * cli/cmdlineparser.h, cli/cppcheckexecutor.cpp, lib/errorlogger.cpp, lib/path.cpp, test/testutils.h: Some refactorizations 2012-02-18 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testsimplifytokens.cpp: Fixed #3529 (False 'Boolean result is used in bitwise operation' in a template) 2012-02-17 Edoardo Prezioso * lib/settings.cpp: Fixed warning about order of variable initialisations in Settings constructor. 2012-02-17 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3604 (cppcheck(1.53) crash). 2012-02-17 Edoardo Prezioso * Makefile, tools/dmake.cpp: Fixed typo in make file generation. 2012-02-17 PKEuS * lib/mathlib.cpp, lib/mathlib.h, lib/tokenize.cpp, test/testtokenize.cpp: Refactorizations in MathLib. Fixed recently introduced bug on floating point numbers with multiple preceding zeros (for example 004.123) 2012-02-17 PKEuS * test/testclass.cpp: Fixed compiler error 2012-02-17 PKEuS * lib/cppcheck.cpp, lib/mathlib.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: - Improved support for numbers in code: -- Use MathLib::toLongNumber for conversion in tokenizer (Fix #3610) -- Handle octal numbers in tokenizer - Refactorizations in MathLib::toLongNumber and Settings 2012-02-16 Zachary Blair * lib/checkother.cpp, test/testother.cpp: Fixed #3598 (false positive: (error) Memory pointed to by 'a' is freed twice.) 2012-02-15 Ettl Martin * gui/resultstree.h: gui: fixed wrong spelled words in comments. 2012-02-15 Ettl Martin * lib/tokenize.cpp: fixed wrong spelled word. 2012-02-15 Daniel Marjamäki * lib/cppcheck.cpp: lib: fix for my previous commit. If there are no dependencies then don't insert dependencies 2012-02-15 Daniel Marjamäki * lib/cppcheck.cpp, lib/cppcheck.h: lib: allow that file dependencies are taken from Cppcheck after a check 2012-02-14 Daniel Marjamäki * gui/erroritem.cpp, gui/erroritem.h, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp: GUI: Recheck changed files. Ticket: #816 2012-02-13 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3591 2012-02-13 PKEuS * lib/token.cpp: Fixed compiler error 2012-02-13 PKEuS * lib/token.cpp, lib/tokenize.cpp, test/testsimplifytokens.cpp: Improved Tokens and Tokenizer: - Better handling of deleteThis() as last element of token list - Code simplified 2012-02-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3584 (2 internal errors : Token::Match called with varid 0) 2012-02-12 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: keep some dummy debug code in release Makefiles to make the debug/release more similar 2012-02-12 Daniel Marjamäki * gui/about.ui: GUI: updated copyright text in about dialog 2012-02-12 Daniel Marjamäki * gui/cppcheck_en.ts, gui/gui.pro, gui/translationhandler.cpp: GUI: Removed translations for english. There is no reason to translate a string from english to english. 2012-02-11 Daniel Marjamäki * htdocs/index.php: htdocs: updated download link on main page 2012-02-11 Erik Lax * AUTHORS, lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3518 (False negative: Possible null pointer dereference (in the same condition)) 2012-02-11 Daniel Marjamäki * win_installer/build1.bat, win_installer/build2.bat, win_installer/build3.bat: windows installer: removed build1.bat, build2.bat and build3.bat. The cppcheck.wixproj should be used instead. 2012-02-11 PKEuS * lib/checknullpointer.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testnullpointer.cpp, test/testobsoletefunctions.cpp: - Improved nullpointer check: Fixed #1171 - Improved accuracy of function analysis in symboldatabase - Code cleanups 2012-02-11 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2012-02-11 Daniel Marjamäki * Makefile: 1.53: Updated Makefile 2012-02-11 Daniel Marjamäki * Changelog: 1.53: Updated changelog 2012-02-11 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.53: Updated version info 2012-02-11 Daniel Marjamäki * lib/executionpath.cpp: fixed cppcheck inconclusive warning, possible null pointer dereference otherwise condition is redundant 2012-02-09 Reijo Tomperi * cli/cmdlineparser.cpp, man/cppcheck.1.xml: Fix #3578 (--std help text in cli is confusing) http://sourceforge.net/apps/trac/cppcheck/ticket/3578 2012-02-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3587 (Wrong tokenizer simplification - variable assigned by operator>>) 2012-02-06 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Another fix for false positives when it's known that inner conditions are true 2012-02-06 Daniel Marjamäki * test/testuninitvar.cpp: Revert "Uninit var: Added TODO test case" The test case was not valid because the variable assignment is redundant and is therefore removed by the tokenizer. This reverts commit 548a43fc49496af9a07a0053a8117c472c641b0a. 2012-02-06 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when goto is simplified and inner condition is known to be true/false 2012-02-06 Daniel Marjamäki * test/testuninitvar.cpp: Uninit var: Added TODO test case 2012-02-05 Daniel Marjamaki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #3577 (Preprocessor: Defines given on command line are not used in the code) 2012-02-05 Daniel Marjamaki * cli/cmdlineparser.cpp: Fixed #3351 (--includes-file is not working as expected) 2012-02-04 Zachary Blair * test/testother.cpp: Ticket #3581 - added missing newlines to the test code 2012-02-04 Zachary Blair * lib/checkother.cpp, test/testother.cpp: FIxed #3581 (double free false positive when exception rethrown) 2012-02-04 Daniel Marjamaki * cli/cmdlineparser.cpp: fixed handling of -i in windows 2012-02-02 Reijo Tomperi * man/cppcheck.1.xml: Add --std to the man file 2012-02-02 PKEuS * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkother.cpp, lib/checkother.h, lib/symboldatabase.h, test/testexceptionsafety.cpp, test/testother.cpp: - Moved checkCatchExceptionByValue from CheckOther to CheckExceptionSafety - Fixed false positive: throw outerCatchVar; in inner catch is now correctly handled - Added eTry and eCatch to Scope::isLocal -> Scopes inside catch are now detected by symbol database 2012-02-01 Daniel Marjamäki * lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testtokenize.cpp: Fixed #3538 (false positive caused by bad tokenizer simplification) 2012-02-01 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3570 (False Postive for 'nullPointer' check) 2012-01-31 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3572 (segmentation fault). 2012-01-31 Edoardo Prezioso * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed ticket #3543 (segmentation fault of cppcheck). 2012-01-31 Edoardo Prezioso * test/testbufferoverrun.cpp: Run astyle. 2012-01-31 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3571 (segmentation fault of cppcheck while scanning gcc-testsuite). 2012-01-31 Edoardo Prezioso * test/testsimplifytokens.cpp: Added test case from #3533 (segmentation fault of cppcheck). 2012-01-31 Ettl Martin * test/testbufferoverrun.cpp: fixed wrong testcase 2012-01-31 Ettl Martin * test/testbufferoverrun.cpp: ticket 3569: added further testcases 2012-01-31 Ettl Martin * test/testbufferoverrun.cpp: added tests for ticket #3569 2012-01-31 PKEuS * lib/checkother.cpp, lib/executionpath.cpp, test/testnullpointer.cpp: Fixes for #3480 and #3568. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3558 (Tokenizer: improve simplifyVarDecl to take count of undefined size VLA's). 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Related to ticket #3560 (conditional pointer user): remove also dead code in the lower scope if the actual scope isn't special. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: some optimizations on new code. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': finished. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: redundant assignment to 'offset'. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': work in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': in progress.. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: 'tokAt(offset)=>tokOffset': begin conversion. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyTypedef: to be sure there are no problems, promote to 'int' the variable 'offset'. 2012-01-30 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer:: Use 'link' instead of 'parens' variable. 2012-01-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Revert "really fix #3527 (Internal error. Token::Match called with varid 0. Please report this to Cppcheck developers)" This reverts commit a37031944e5d26f169e2026aec182b5aae7bc88d. I don't want this hard coding of macro names. Feel free to come with a more generic solution if you want. 2012-01-29 Daniel Marjamäki * : Merge pull request #78 from lioncash/master Updated the Japanese translation file. 2012-01-28 Robert Reif * lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: really fix #3527 (Internal error. Token::Match called with varid 0. Please report this to Cppcheck developers) 2012-01-28 Edoardo Prezioso * lib/checkmemoryleak.cpp: Improve 'CheckMemoryLeakInClass::check'. 2012-01-28 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: it's possible to set null lower bound for eraseDeadCode when used inside simplifyFlowControl. Remove now unused 'beginindent' and moved 'goto' simplification together with 'return' group. 2012-01-28 lioncash * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: Update the Japanese language translation file. When I updated it through QT, it added some missing things to the other translation files, I hope that doesn't break anything :x So far from what I've tested, everything works fine. 2012-01-28 Edoardo Prezioso * lib/checknullpointer.cpp, lib/checkother.cpp, lib/tokenize.cpp: Fixed: (warning) Found simple pattern inside Token::Match() call. 2012-01-28 PKEuS * lib/check.h, lib/checkautovariables.cpp, lib/checkother.cpp, lib/checkother.h, lib/checkunusedvar.cpp, lib/checkunusedvar.h, test/testdivision.cpp: - checkUnsignedDivision checks for variable/variable (inconclusive). General bailout for if-statements. - Make use of recently implemented symboldatabase functions (catch-support, reference-support) - Other refactorizations 2012-01-28 Daniel Marjamäki * lib/checkmemoryleak.cpp: Fixed #3527 (Internal error. Token::Match called with varid 0. Please report this to Cppcheck developers) 2012-01-28 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: fixed false positive when '?' is used in return statement. Ticket: #3560 2012-01-27 Robert Reif * lib/symboldatabase.cpp, lib/tokenize.cpp, test/testsymboldatabase.cpp: fix #3561 (SymbolDatabase: throw foo; creates a variable with type throw) 2012-01-27 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: Stylish change to condition. 2012-01-27 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Temporary workaround to ticket #3459 (Simplify goto before loop) : don't simplify code which contains the label pointed by 'goto'. 2012-01-27 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: Add 'BOOST_FOREACH' pattern where it was missing. 2012-01-27 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer: extract realloc simplification and simplify also when each argument is done by more than one token. Restyling of a comment in tokenize.h. 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: simplifyCondition: handle also '( a || true || b)' -> '(true)' and '( a && false && b)' -> '(false)'. Clarify a comment about previous commit. 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::removeRedundantCondition: refactoring due to various reasons. 1) Remove the dead code with 'eraseDeadCode', not with 'eraseTokens' because of the possible presence of labels. 2) It's impossible that in tokenizer there is pattern like 'if (true|false) {code;} else if (cond) {code_cond;}' because the function 'Tokenizer::elseif' adds '{' between 'else' and 'if', hence a code path is redundant, so it's removed from code. 2012-01-26 Edoardo Prezioso * test/testtokenize.cpp: TestTokenizer: moved test to proper place. 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyQuestionMark: use links instead of indentation level number. 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed ticket #3557 (Tokenizer: simplification of '[]' doesn't work well): extract undefined size array simplification and handle multiple arrays and combos between pointers and arrays, don't handle the definitions as arguments of function. 2012-01-26 PKEuS * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Added support for references to symboldatabase 2012-01-26 PKEuS * lib/checkbufferoverrun.cpp, lib/checkexceptionsafety.cpp, lib/checknullpointer.cpp, lib/checkuninitvar.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testnullpointer.cpp: - initialising std::string with 0 in initialisation list is partially detected in nullpointer check (#3520) - executionpath checking makes use of symboldatabase - CheckExceptionSafety::checkRethrowCopy makes use of symboldatabase 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improve simplifyReturnStrncat when each argument is not composed by one token. 2012-01-26 Edoardo Prezioso * lib/checknullpointer.cpp: Fixed gcc warning: variable which shadows a member of 'this'. 2012-01-26 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: Change 'simplifyReturn' to 'simplifyReturnStrncat' because it's not clear what this function does. 2012-01-25 Robert Reif * lib/symboldatabase.h, test/testsymboldatabase.cpp: symbol database: add simple try/catch tests 2012-01-25 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: symbol database: add preliminary support for throw/catch block scopes. Just like the rest of cppcheck, ... is not handled properly for variables. Deep namespaces are also not handled properly yet. This is not an issue because this new capability is not used by any checks so it should be harmless. 2012-01-25 PKEuS * lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkuninitvar.cpp, test/testnullpointer.cpp: Improved nullpointer check: - More accurate checking for dereferences and non-dereferences - improved checking for nullpointer dereferences after return statement - Supports pointer dereferences by std::string - Code optimization/refactorization 2012-01-24 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed ticket #3550 (false positive: (error) Memory pointed to by 'pxpm' is freed twice) 2012-01-24 Robert Reif * lib/symboldatabase.cpp: symbol database: add missing variable flag debug printing 2012-01-24 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3323 (#undef needs different handling) 2012-01-23 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed ticket #3528 (Tokenizer: improve simplifyFunctionParameters to take count of square brackets) 2012-01-23 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3509 (FP: Variable 'itemList' is not assigned a value, when << operator is used) 2012-01-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3502 (segmentation fault of cppcheck (struct{x y:};)) 2012-01-22 Robert Reif * lib/symboldatabase.cpp: symbol database: add missing endl in debug dump 2012-01-22 Daniel Marjamäki * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed #3508 (Symbol database: mixing up constructors and destructors) 2012-01-22 Reijo Tomperi * : Remove binary file from samples 2012-01-22 Reijo Tomperi * samples/memleak/bad.c, samples/memleak/good.c, samples/resourceLeak/bad.c, samples/resourceLeak/good.c: Fixing #3515 (Add samples/id/good|bad.cpp) http://sourceforge.net/apps/trac/cppcheck/ticket/3515 2012-01-22 Reijo Tomperi * runastyle, samples/arrayIndexOutOfBounds/bad.c, samples/arrayIndexOutOfBounds/good.c, samples/autoVariables/bad.c, samples/autoVariables/good.c, samples/bufferAccessOutOfBounds/bad.c, samples/bufferAccessOutOfBounds/good.c, samples/erase/bad.cpp, samples/erase/good.cpp, samples/outOfBounds/bad.c, samples/outOfBounds/good.c, samples/syntaxError/bad.c, samples/syntaxError/good.c: Fixing #3515 (Add samples/id/good|bad.cpp) http://sourceforge.net/apps/trac/cppcheck/ticket/3515 2012-01-22 Edoardo Prezioso * lib/token.cpp: Token::replace: Little style change. 2012-01-21 Edoardo Prezioso * lib/token.cpp: Token::move|replace: update progressValues correctly. 2012-01-21 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3497 (False positive: Uninitialized variable) 2012-01-21 PKEuS * lib/checkinternal.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/settings.cpp, lib/templatesimplifier.cpp, lib/tokenize.cpp: - Solved FIXME: Made detection of code that is no pointer-dereference more robust, uncommented code (checknullpointer.cpp) - Removed more indendation level counters - Make use of symbol database more often - Other refactorizations 2012-01-21 PKEuS * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, test/testexceptionsafety.cpp: Refactorized check for dead pointers after throw: - Less bailouts for inconclusive checking - Support for static variables - Changed severity to warning (error is not certain) 2012-01-21 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::copyTokens: add optional parameter which preserve the line number differences between tokens to be copied. 2012-01-21 Ahti Legonkov * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3531 (When macro definition contains parenthesis, the #defined symbol does not get #defined.) 2012-01-21 PKEuS * cli/cmdlineparser.cpp, cli/cmdlineparser.h, lib/checkclass.cpp, lib/checkother.cpp, lib/checkunusedvar.cpp, lib/symboldatabase.cpp, lib/templatesimplifier.cpp, test/testcppcheck.cpp, test/testsuite.h, test/testsymboldatabase.cpp: - Correctly set Scope::function variable in symboldatabase - Refactorizations - Fixed some cppcheck warnings 2012-01-21 Edoardo Prezioso * test/testsimplifytokens.cpp, test/testtokenize.cpp: Remove some redundant 'errout.str("")' in some checks because it's already done inside tok call. 2012-01-19 Zachary Blair * : commit b89adff9fd264e23dc30f59d7b53a3b876165e2d Author: Zachary Blair Date: Sat Jan 14 16:19:34 2012 -0800 2012-01-19 seb777 * lib/preprocessor.cpp: It is a good practice to clear container after deleted all the items 2012-01-18 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3490 (False positive: sscanf with %c) 2012-01-18 Stefan Weil * lib/checkother.cpp, test/testcharvar.cpp: Fixed #3519 (Wrong line number in warning charBitOpError) 2012-01-18 seb777 * lib/tokenize.cpp, test/testtokenize.cpp: Fix ticket #3530 (Add some windows data types to tokenizer) 2012-01-17 Reijo Tomperi * runastyle, samples/AssignmentAddressToInteger/bad.c, samples/AssignmentAddressToInteger/good.c: Start fixing #3515 (Add samples/id/good|bad.cpp) http://sourceforge.net/apps/trac/cppcheck/ticket/3515 2012-01-17 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: various improvements to code. 2012-01-16 Edoardo Prezioso * lib/tokenize.cpp: Reverted some changes in commits 4b05c3e19f58f5b53e4e306e7fc1d8aae37a6e8f and 4b08b13845609c0ac17ecd7fd20268bb4ea0f490. 2012-01-15 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyIfAddBraces: improve comments; handle independently 'a = { .. };'; reduce use of 'Token::(simple)Match' functions. 2012-01-15 Edoardo Prezioso * test/testtokenize.cpp: TestTokenizer: Remove redundant ';' in 'inlineasm' testcases. 2012-01-15 Edoardo Prezioso * test/testtokenize.cpp: Run astyle. 2012-01-15 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: reduce usage of Token::Match in some cases. 2012-01-15 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: report syntaxError if there's nothing after 'if|for|while ()' and if there's nothing inside round brackets; TestTokenizer: change test cases accordingly; TestSimplifyTokens: ditto. 2012-01-15 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed #3496 (false positive: syntax error) 2012-01-15 PKEuS * lib/checkother.h, test/testother.cpp: Fixed #3517 and #3513 2012-01-15 PKEuS * lib/checkclass.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/checkuninitvar.cpp: Removed more indendation counters. 2012-01-15 Daniel Marjamäki * lib/templatesimplifier.cpp: Fixed segfault in TestTokenizer::cpp0xtemplate3 2012-01-15 Daniel Marjamäki * lib/templatesimplifier.cpp: TemplateSimplifier : Fixed bug in recent commit. 2012-01-15 Daniel Marjamäki * gui/selectfilesdialog.cpp: GUI: Refactorings. Changed names. Added comments. 2012-01-15 Daniel Marjamäki * gui/selectfilesdialog.cpp: GUI: In the selectfiles dialog use partial selection if some children are checked and others are not 2012-01-14 Edoardo Prezioso * lib/checkstl.cpp: Code style: Use 'linkAt' instead of 'tokAt(..)->link'. 2012-01-14 Reijo Tomperi * lib/checkother.cpp, test/testother.cpp: Fix #3516 (inaccurate warning: "An unsigned variable will always be positive" (unsigned n; if (n >=0);)) http://sourceforge.net/apps/trac/cppcheck/ticket/3516 2012-01-14 Edoardo Prezioso * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed ticket #3512 (segmentation fault of cppcheck ( 1 *p = const)) 2012-01-13 Edoardo Prezioso * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed ticket #3486 (segmentation fault of cppcheck) 2012-01-13 Daniel Marjamäki * lib/templatesimplifier.cpp, test/testtokenize.cpp: Fixed #3504 (segmentation fault of cppcheck) 2012-01-13 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3497 (False positive: Uninitialized variable) 2012-01-13 Daniel Marjamäki * gui/selectfilesdialog.ui: GUI: SelectFilesDialog: increased the height somewhat 2012-01-13 Daniel Marjamäki * gui/selectfilesdialog.cpp: GUI: SelectFilesDialog: Changed text for OK button to 'Check' 2012-01-13 Daniel Marjamäki * gui/selectfilesdialog.cpp: GUI: Fixed path match problem that caused extra directories to be selected/unselected 2012-01-12 seb777 * lib/checknonreentrantfunctions.h, lib/checkobsoletefunctions.h, test/testnonreentrantfunctions.cpp: Fix ticket #3483 (POSIX.1-2008 - obsolete functions) From POSIX.1-2008 specification (see http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap01.html#tag_22_01_01_04):- remove obsolete functions ctime, asctime, rand, tmpnam (non reentrant functions check) - add obsolete base functions (obsolete functions check): - rand_r - tmpnam, tmpnam_r - utime - asctime, asctime_r - ctime, ctime_r - update unit tests (non reentrant function) - update messages (cosmetic) (obsolete functions check) 2012-01-12 Reijo Tomperi * cli/cmdlineparser.cpp, gui/selectfilesdialog.cpp, test/redirect.h, test/testcmdlineparser.cpp: Fix #3510 (Improve error message for --suppressions-list) http://sourceforge.net/apps/trac/cppcheck/ticket/3510 Print additional info to error message if we suspect that multiple files were given. 2012-01-12 Daniel Marjamäki * gui/mainwindow.cpp, gui/selectfilesdialog.cpp, gui/selectfilesdialog.h, gui/selectfilesdialog.ui: GUI: Use SelectFilesDialog result if OK button is pressed 2012-01-11 Daniel Marjamäki * gui/gui.pro, gui/selectfilesdialog.cpp, gui/selectfilesdialog.h, gui/selectfilesdialog.ui: GUI: Added ui file for the selectfilesdialog 2012-01-11 Daniel Marjamaki * gui/mainwindow.cpp, gui/selectfilesdialog.cpp, gui/selectfilesdialog.h: GUI: give the SelectFilesDialog a parent widget 2012-01-11 Daniel Marjamaki * gui/selectfilesdialog.cpp: GUI: SelectFilesDialog - tweaked behaviour when unchecking a folder and checking a subfolder 2012-01-11 Daniel Marjamaki * gui/selectfilesdialog.cpp: GUI: SelectFilesDialog - set root path to '/'. More files are selectable. 2012-01-10 Robert Reif * lib/tokenize.cpp: add some more windows types 2012-01-10 Daniel Marjamäki * : Merge pull request #75 from kimmov/guifixes GUI fixes + VS 2008 project files update 2012-01-10 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Add include paths as relative to project file. When adding a new include path check if the path is relative path to the project file's path. If path is relative then remove the begin of the path making it a relative path in project file. Ticket: #3019 (GUI: Add project include paths as relative paths) 2012-01-10 Kimmo Varis * gui/common.h, gui/mainwindow.cpp: GUI: Remeber last path where project file was opened from. It is handy to remember the last location of the opened project file. Currently the Open Project -dialog was always opened to location of the executable file. Which is never the correct place. But last opened project file location might at least be near the location user wants to open next. Ticket: #3493 (GUI: remember last path in Open Project File) 2012-01-10 Kimmo Varis * gui/mainwindow.cpp: GUI: Fix crash opening project file from command line. The GUI crashed if the project file was tried to open from the command line. The project file loading was run before the MRU menu was created but tried to add a new item to it. 2012-01-10 Kimmo Varis * cli/cppcheck.vcproj, test/testrunner.vcproj: Update VS2008 project files. 2012-01-09 Reijo Tomperi * Makefile, lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move rest of the template simplification into TemplateSimplifier simplifyCalculations() was temporarily moved into TemplateSimplifier also, it should be moved to a better place. 2012-01-09 Reijo Tomperi * lib/cppcheck.cpp, lib/tokenize.cpp: Catch InternalError by reference instead of creating a copy of it. 2012-01-09 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3485 (segmentation fault of cppcheck ( {a:1;}; )) 2012-01-09 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3482 (segmentation fault of cppcheck ( switch(){case} )) 2012-01-09 Edoardo Prezioso * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed ticket #3481 (segmentation fault of cppcheck) 2012-01-09 Edoardo Prezioso * lib/executionpath.cpp, test/testuninitvar.cpp: Fixed ticket #3480 (segmentation fault of cppcheck) 2012-01-08 Reijo Tomperi * Makefile, lib/checkbufferoverrun.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/mathlib.cpp, lib/mathlib.h, lib/token.cpp, lib/tokenize.cpp, test/testmathlib.cpp, test/testtoken.cpp: Add InternalError and change MathLib to throw it in case of an error. - Previously MathLib errors did not provide a filename, but after this change at least source file name should be printed and if token is provided, also line number should be printed. - Change also Token to use InternalError - Modify Cppcheck-class to catch InternalError instead of Token - Run dmake to update Makefile 2012-01-08 PKEuS * lib/checkautovariables.cpp, test/testautovariables.cpp: Refactorized checkautovariables.cpp. Removed indendation counters. Fixed #3478 2012-01-08 Kamil Dudka * lib/checkclass.cpp, test/testclass.cpp: Class: Don't warn about uninitialized union members because they are often combined with a second variable 2012-01-08 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3472 (false positive: (error) Passing value 0 to log() leads to undefined result) 2012-01-08 Daniel Marjamäki * lib/path.cpp, test/testpath.cpp: Refactoring. Assume that .C files contain C code on case insensitive filesystems. 2012-01-08 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3473 (False positive: variable is assigned value that is never used (used in return statement)) 2012-01-08 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3467 (False positive: Variable is not assigned a value (new)) 2012-01-08 Reijo Tomperi * lib/tokenize.cpp: Refactoring: Extract sizeof simplifying from template simplifying 2012-01-07 Reijo Tomperi * lib/path.cpp, test/testpath.cpp: In unix .C is considered C++. Changed isC() and isCPP() to work like they were before refactoring. 2012-01-07 Daniel Marjamäki * test/testsymboldatabase.cpp: Symbol database: Fixed comments 2012-01-07 Daniel Marjamäki * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed #3320 (False positive: Member variable is not initialized in the constructor (namespaces).) 2012-01-07 Daniel Marjamäki * lib/tokenize.cpp: Symbol database: dump if --debug and --verbose is given 2012-01-06 Reijo Tomperi * lib/tokenize.cpp: astyle fix 2012-01-06 Reijo Tomperi * lib/path.cpp, lib/path.h, lib/tokenize.cpp, lib/tokenize.h, test/testpath.cpp: Refactor: Move file extension checks from Tokenizer to Path class. This has also functional change as now also file.JAVA is considered a Java file. 2012-01-06 PKEuS * cli/filelister.cpp, lib/path.cpp: Fixed missing include 2012-01-06 Daniel Marjamäki * cli/filelister.cpp, cli/filelister.h, lib/cppcheck.cpp, lib/path.cpp, lib/path.h, lib/tokenize.h: Refactoring: Copy FileLister::acceptFile to Path::acceptFile. Use Path::getFilenameExtension and Path::acceptFile in Tokenizer. Use Path::acceptFile in CppCheck::processFile instead of hardcoded handling. 2012-01-06 Daniel Marjamäki * lib/cppcheck.cpp: Refactoring: Disable debug warnings when file extension is neither .c nor .cpp. To somewhat prevent that people fix java/c# specific debug warnings. 2012-01-06 Edoardo Prezioso * lib/checkmemoryleak.cpp: Fixed ticket #2405 (debug messages provide incorrect file:line information) 2012-01-06 Daniel Marjamäki * test/testmemleak.cpp: Fixed #3015 (xml-style error output when running testrunner on particular tests) 2012-01-06 Daniel Marjamäki * test/testtoken.cpp: TestRunner: Make sure no xml output is reported when running TestToken (#3015) 2012-01-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Refactoring: Made Preprocessor::simplifyCondition nonstatic 2012-01-06 Daniel Marjamäki * lib/preprocessor.h, test/testpreprocessor.cpp: Refactoring: Made Preprocessor::match_cfg_def nonstatic 2012-01-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: Refactoring: Removed redundant settings parameter for Preprocessor::removeComments 2012-01-06 Daniel Marjamäki * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, test/testother.cpp, test/testpreprocessor.cpp: Refactoring: Made Preprocessor::getcode nonstatic 2012-01-05 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move template code into templatesimplifier: simplifyTemplatesExpandTemplate() 2012-01-05 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: cleanup 2012-01-05 Daniel Marjamäki * lib/symboldatabase.cpp: astyle formatting 2012-01-05 Daniel Marjamäki * lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp: Use symbol database dump code written by Robert Reif. The symbol database is dumped if --debug is used. 2012-01-05 Jussi Lehtola * test/testfilelister.cpp: fix gcc-4.7 compiler error (missing include) 2012-01-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyGoto: process also derived class/structs. 2012-01-04 Edoardo Prezioso * lib/tokenize.cpp: Refactoring: replace forgotten code with function call 'simplifyRedundantConsecutiveBraces'. 2012-01-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improve Tokenizer: improve 'simplifyDoublePlusAndDoubleMinus' when there are negative numbers. 2012-01-04 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Extract various functions inside the Tokenizer class and fix tokenization of 'return __LINE__ ;'. 2012-01-04 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed false positives related to %*[] in scanf format string (#3468) 2012-01-03 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move template code into templatesimplifier: simplifyTemplatesGetTemplateNamePosition() 2012-01-03 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move template code into templatesimplifier: simplifyTemplatesUseDefaultArgumentValues(), simplifyTemplatesInstantiateMatch() 2012-01-03 Reijo Tomperi * cli/threadexecutor.cpp, cli/threadexecutor.h: Fix warnings with -Wconversion in gcc in threadexecutor 2012-01-03 Reijo Tomperi * cli/threadexecutor.cpp, cli/threadexecutor.h: Refactoring: Replace '1', '2', '3' magic characters with enum names: REPORT_OUT='1',REPORT_ERROR='2', CHILD_END='3' in ThreadExecutor. 2012-01-03 Edoardo Prezioso * test/testsuite.cpp, test/testsuite.h: testrunner: assert-like functions should take linenr parameter as a 'unsigned int' (maybe in the future these should be converted to 'size_t'?); fix discrepancy between 'todoAssertEquals' and 'AssertEquals' so that the parameters 'expected, wanted, actual and current' are 'long long' types. 2012-01-03 Edoardo Prezioso * tools/dmake.cpp: tools/dmake.cpp: nitpicky reorder of commented warnings in alphabet order with uncommented ones. 2012-01-03 PKEuS * lib/tokenize.cpp: Use std::stack instead of std::vector Tokenizer::createTokens. Removed #pragma warning(disable: 4503) 2012-01-02 Edoardo Prezioso * lib/checkstl.cpp, test/teststl.cpp: Fixed ticket #3447 (Improve void CheckStl::if_find()) 2012-01-02 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move template code into templatesimplifier: simplifyTemplatesGetTemplateDeclarations(), simplifyTemplatesGetTemplateInstantiations() 2012-01-02 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Move template code into templatesimplifier: simplifyTemplatesExpandSpecialized() 2012-01-02 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp: Refactoring: Move template code into templatesimplifier: removeTemplates() 2012-01-02 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp: Refactoring: Move code into templatesimplifier: templateParameters() 2012-01-02 Reijo Tomperi * lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp: Refactoring: Move code into templatesimplifier 2012-01-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Reverted 9aa8a496. I don't know why I made this fix. 2012-01-02 Edoardo Prezioso * test/testtokenize.cpp: Remove redundant testcase I forgot to remove in previous commit. 2012-01-02 Edoardo Prezioso * lib/symboldatabase.cpp, lib/tokenize.cpp: Revert 'using' changes as it was until some time ago. 2012-01-02 Daniel Marjamaki * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Visual Studio: Generated new msvc2010 project files with qmake 2012-01-02 PKEuS * lib/preprocessor.cpp: Refactorizations in preprocessor.cpp 2012-01-02 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed #3461: Support for %m* on scanf-functions 2012-01-02 Daniel Marjamäki * lib/standards.h: Fixed #3445 (Problems with lib/standards.h) 2012-01-02 PKEuS * lib/tokenize.cpp: Fixed compiler errors with GCC 2012-01-02 PKEuS * lib/preprocessor.cpp, lib/token.cpp, lib/tokenize.cpp, test/testpreprocessor.cpp: - Refactorizations in preprocessor.cpp and tokenizer.cpp - Bugfix: tok->stringify(tok) returns now "". - Removed most of the inline-asm handling in preprocessor; improved the remaining handling of #asm/#endasm: Simplified to "asm(...);" statement 2012-01-02 PKEuS * : commit 325b01b7370d89d23a2d2f23c24dd1da494d816e Author: Daniel Marjamäki Date: Mon Jan 2 12:49:15 2012 +0100 2012-01-02 Philipp K * lib/preprocessor.cpp, lib/token.cpp, lib/tokenize.cpp, test/testpreprocessor.cpp: - Refactorizations in preprocessor.cpp and tokenizer.cpp - Bugfix: tok->stringify(tok) returns now "". - Removed most of the inline-asm handling in preprocessor; improved the remaining handling of #asm/#endasm: Simplified to "asm(...);" statement 2012-01-02 PKEuS * lib/preprocessor.cpp, lib/token.cpp, lib/tokenize.cpp, test/testpreprocessor.cpp: Revert "- Refactorizations in preprocessor.cpp and tokenizer.cpp" Committing with subversion seems to have issues. Sorry for that. I'll the changes again, now using git. This reverts commit 69498de6cae9f5fbc8574bce8b91d2b9a02c3e9c. 2012-01-02 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3463 (Uninitialized variable variable pointer) 2012-01-02 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/settings.cpp, lib/settings.h, test/testcmdlineparser.cpp: Revert "Fixed #3450 (CLI --report-progress is currently useless)" This reverts commit e769fe629427bf506252540b0df5f5049f0daac5. 2012-01-02 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/settings.cpp, lib/settings.h, test/testcmdlineparser.cpp: Fixed #3450 (CLI --report-progress is currently useless) 2012-01-02 Edoardo Prezioso * lib/tokenize.cpp: C# simplification: remove 'using var;' code from the tokenizer. 2012-01-02 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Handle also C# multidimensional arrays with no specified dimension. 2012-01-01 Reijo Tomperi * Makefile: Refactoring: Rerun dmake to update makefile, related to previous commit. 2012-01-01 Reijo Tomperi * Makefile, cppcheck.cbp, lib/lib.pri, lib/templatesimplifier.cpp, lib/templatesimplifier.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Add new file lib/templatesimplifier.cpp The plan is to move template simplification into this new class to take some lines from 10 000 line tokenizer. 2012-01-01 PKEuS * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/check64bit.cpp, lib/tokenize.cpp: Refactoring various issues in cmdlineparser, cppcheckexecutor, check64bit and tokenize. 2012-01-01 Reijo Tomperi * cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/filelister.cpp, cli/filelister.h, cli/main.cpp, cli/pathmatch.cpp, cli/pathmatch.h, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/application.cpp, gui/application.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkstatistics.cpp, gui/checkstatistics.h, gui/checkthread.cpp, gui/checkthread.h, gui/common.h, gui/csvreport.cpp, gui/csvreport.h, gui/erroritem.cpp, gui/erroritem.h, gui/filelist.cpp, gui/filelist.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/logview.cpp, gui/logview.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/platforms.cpp, gui/platforms.h, gui/project.cpp, gui/project.h, gui/projectfile.cpp, gui/projectfile.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h, gui/report.cpp, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/showtypes.cpp, gui/showtypes.h, gui/statsdialog.cpp, gui/statsdialog.h, gui/test/benchmark/simple/benchmarksimple.cpp, gui/test/benchmark/simple/benchmarksimple.h, gui/test/data/benchmark/simple.cpp, gui/test/filelist/testfilelist.cpp, gui/test/filelist/testfilelist.h, gui/test/projectfile/testprojectfile.cpp, gui/test/projectfile/testprojectfile.h, gui/test/translationhandler/testtranslationhandler.cpp, gui/test/translationhandler/testtranslationhandler.h, gui/test/xmlreport/testxmlreport.cpp, gui/test/xmlreport/testxmlreport.h, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv1/testxmlreportv1.h, gui/test/xmlreportv2/testxmlreportv2.cpp, gui/test/xmlreportv2/testxmlreportv2.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, gui/translationhandler.cpp, gui/translationhandler.h, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h, gui/xmlreportv1.cpp, gui/xmlreportv1.h, gui/xmlreportv2.cpp, gui/xmlreportv2.h, lib/check.h, lib/check64bit.cpp, lib/check64bit.h, lib/checkassignif.cpp, lib/checkassignif.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkboost.cpp, lib/checkboost.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkinternal.cpp, lib/checkinternal.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checknonreentrantfunctions.cpp, lib/checknonreentrantfunctions.h, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/checkother.cpp, lib/checkother.h, lib/checkpostfixoperator.cpp, lib/checkpostfixoperator.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkuninitvar.cpp, lib/checkuninitvar.h, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/mathlib.cpp, lib/mathlib.h, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h, lib/suppressions.cpp, lib/suppressions.h, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/timer.cpp, lib/timer.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, man/cppcheck.1.xml, test/test64bit.cpp, test/testassignif.cpp, test/testautovariables.cpp, test/testboost.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testcmdlineparser.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdivision.cpp, test/testerrorlogger.cpp, test/testexceptionsafety.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testinternal.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testnonreentrantfunctions.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp, test/testother.cpp, test/testpath.cpp, test/testpathmatch.cpp, test/testpostfixoperator.cpp, test/testpreprocessor.cpp, test/testrunner.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testsuppressions.cpp, test/testsymboldatabase.cpp, test/testthreadexecutor.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testuninitvar.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, test/testutils.h, tools/dmake.cpp: Update year to 2012 2012-01-01 Erik Lax * lib/checkother.cpp, test/testother.cpp: Fix #3457 (Statement following goto can be executed) http://sourceforge.net/apps/trac/cppcheck/ticket/3457 2011-12-31 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3448 (segmentation fault of cppcheck). Add testcase related to previous commit (add 'A f(&x);' as declaration of variable). 2011-12-31 Edoardo Prezioso * lib/symboldatabase.cpp, lib/tokenize.cpp: - Re-elaborate 'using' keyword skipping in Tokenizer::setVarId and Scope::getVariableList; - Improve setVarId: add possible declaration: 'A f(&x);' and change from: 'if (...){}else{ continue; };' to: 'if (!...) continue;'; - Little refactoring of 'Tokenizer::removeTokens()'. 2011-12-31 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3449 (segmentation fault of cppcheck) 2011-12-30 Reijo Tomperi * lib/symboldatabase.cpp: astyle fix 2011-12-30 Edoardo Prezioso * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, test/testtokenize.cpp: Add testcase for previous commit. 2011-12-30 Edoardo Prezioso * lib/symboldatabase.cpp, lib/tokenize.cpp: Improve varId and getVariableList filter, related to previous commit. 2011-12-30 Edoardo Prezioso * lib/symboldatabase.cpp: Fix debug message "Scope::checkVariable found variable '%var%' with varid 0." in C# code with 'using %var%;'. 2011-12-30 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Improve C# simplification code with arrays of arrays. 2011-12-30 Edoardo Prezioso * lib/tokenize.cpp: Rewrite Tokenizer::hasEnumsWithTypedef by using 'findmatch' in order to shorten the code. 2011-12-30 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: #3382 (Clarify error message 'invalid deallocation') 2011-12-30 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3454 (false positive: (style) Variable 'iFaktor' is assigned a value that is never used) 2011-12-30 Reijo Tomperi * lib/checkother.cpp, lib/errorlogger.cpp: Partial fix to #3452 (ErrorLogger: complain/raise assertion when error message has extra newlines etc) http://sourceforge.net/apps/trac/cppcheck/ticket/3452 Add assert for newlines. 2011-12-28 Daniel Marjamäki * : Merge pull request #73 from kimmov/gui-disable-mru GUI: Disable project MRU items while checking. 2011-12-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3444 (False positive using putenv) 2011-12-29 Reijo Tomperi * lib/checkother.cpp, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Remove duplicate function from tokenizer: code_is_c() -> isC() 2011-12-28 Reijo Tomperi * lib/tokenize.cpp: astyle fix 2011-12-28 Edoardo Prezioso * lib/tokenize.cpp: Always by pressing request, oops. 2011-12-28 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: By pressing request, extract method: simplifyJavaAndCSharp. 2011-12-28 Edoardo Prezioso * lib/tokenize.cpp: Move non-C++ simplification outside big loop. Related to commit b2f8161862287f1de900382f5bf9d42aa0734669 . 2011-12-28 Reijo Tomperi * lib/checknullpointer.cpp, lib/tokenize.cpp, test/testother.cpp: Fix astyle and test failures. 2011-12-28 Edoardo Prezioso * lib/checkother.cpp: Fix ticket #3451 (A (style) type warning witout message text). 2011-12-28 Edoardo Prezioso * lib/checkuninitvar.cpp, lib/tokenize.cpp: Rewrite fix of ticket #3415 (Segmentation fault in new check for uninitialized variables): new simplify: 'code ; ({ some_code ; });' to 'code ; some_code ;'; remove the sanity check in checkunusedvar, so when it crashes again it's easy to spot a bigger problem; 'internal' reported 'Token::Match' with simple pattern. 'Tokenizer::tokenize()' refactorings: make one loop with many simple simplifications instead of many loops with one simplification. some style changes. 2011-12-28 Kimmo Varis * gui/mainwindow.cpp: GUI: Disable project MRU items while checking. Project file can't be opened when the check is running. So the menu items must be disabled. Fixes ticket: #3446 (GUI: MRU items must be disabled while checking) 2011-12-28 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer: Use Tokenizer::IsScopeNoReturn 2011-12-28 Daniel Marjamäki * webreport.sh: webreport: updated script (use latest pmd) 2011-12-28 Daniel Marjamäki * lib/checknullpointer.cpp: Null pointer: Removed old code for handling exit(). No testing affected. 2011-12-27 Daniel Marjamäki * : Merge pull request #72 from kimmov/gui-standards Add standards support for the GUI 2011-12-27 Reijo Tomperi * : Merge pull request #71 from neuschaefer/tokenizer Refactoring: Do language detection in one place, instead of spreading it around the code. (There are still locations that need to be fixed to use the new functions.) 2011-12-27 Kimmo Varis * gui/gui.pro: GUI: Fix file order in project file. 2011-12-27 Jonathan Neuschäfer * lib/checkmemoryleak.h: checkmemleak.h: use Tokenizer::isJavaOrCSharp() 2011-12-27 Jonathan Neuschäfer * lib/tokenize.cpp, lib/tokenize.h: tokenizer: proper checks for Java and C# 2011-12-27 Jonathan Neuschäfer * lib/tokenize.h: Refactoring: tokenizer: factor out fileExtension 2011-12-27 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checkuninitvar.cpp, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Added utility function that determine if scope ends with a call to a noreturn function 2011-12-27 Daniel Marjamäki * : Merge pull request #70 from kimmov/gui-filter-fix GUI: Fix bug in severity filtering. 2011-12-27 Kimmo Varis * gui/showtypes.cpp: GUI: Fix bug in severity filtering. There was (obviously) a copy-paste bug in code converting severities to GUI's show types. This caused some severities not being filtered correctly when severity selection in GUI was changed. Fixes ticket: #3242 (GUI: Unmatched suppression: message in wrong category) 2011-12-27 Daniel Marjamäki * : Merge pull request #69 from kimmov/gui-platforms GUI: Disable platform selection during checking. 2011-12-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Better handling of array of function pointers 2011-12-27 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Disable platform selection during checking. Fixes ticket: #3250 (GUI: platform type should not be changeable at runtime) 2011-12-27 Daniel Marjamäki * : Merge pull request #68 from kimmov/mru-fix GUI: Remove empty/space-only items from MRU list. 2011-12-27 Kimmo Varis * gui/mainwindow.cpp: GUI: Remove empty/space-only items from MRU list. 2011-12-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when pointer is dereferenced in unexpanded macro 2011-12-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/tokenize.cpp: Removed debug variables 2011-12-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fix false positives related to for loop 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives (caused by my 'check more variables' commit) 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: Better handling of variable usage in condition 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives caused by recent commit when potentially uninitialized variable is read in condition 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives caused by recent improvement when variable is potentially initialized in else block. 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives for unconditional inner scopes 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when goto is used. 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: check more variables 2011-12-26 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: Improved checking when there are multiple if/else and a certain path causes an error 2011-12-26 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #3201 (Checking iterators from different objects) 2011-12-26 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3438 (false positive: (style) Variable 'dBuf' is not assigned a value) 2011-12-26 Daniel Marjamäki * lib/checkautovariables.cpp: astyle formatting 2011-12-26 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: #3434 (False positive Returning reference to auto variable) 2011-12-26 Daniel Marjamäki * lib/checknullpointer.cpp, lib/tokenize.h, test/testnullpointer.cpp: Null pointers: show inconclusive errors if functions are called. Assume they won't assign the pointer. Ticket: #3443 2011-12-26 Edoardo Prezioso * lib/tokenize.cpp: Fixed ticket #3416 (segmentation fault of cppcheck) 2011-12-26 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Rename some variables and funtions in tokenizer. Small logic change also for count variable to make new name more logical. 2011-12-25 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checknullpointer.h, test/testnullpointer.cpp: Fixed #3443 (false positives: possible null pointer dereference (calling unknown function)) 2011-12-25 Daniel Marjamäki * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Fixed #3435 (False positive: (warning) Member variable 'A::m_Vec' is not initialized in the constructor.) 2011-12-24 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Extract several methods from tokenize() 2011-12-24 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Extract method: simplifyDoublePlusAndDoubleMinus() 2011-12-24 Daniel Marjamäki * cli/cmdlineparser.cpp: reformatting cli help text to fit better on normal terminal windows that are 80 characters wide 2011-12-24 Daniel Marjamäki * lib/checkstl.cpp: C++ Builder: Fixed compiler error (weird error) 2011-12-24 Reijo Tomperi * lib/tokenize.cpp: Refactoring: Rename some variables with too short names, such as "s". 2011-12-24 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Rename variable used -> templateInstantiations 2011-12-23 PKEuS * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkboost.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkobsoletefunctions.h, lib/cppcheck.h, lib/errorlogger.h, lib/mathlib.cpp, lib/preprocessor.cpp, lib/suppressions.cpp, lib/symboldatabase.cpp, test/testclass.cpp, test/testcppcheck.cpp, test/teststl.cpp, test/testthreadexecutor.cpp, test/testtoken.cpp, test/testutils.h: Remove unnecessary includes Also add a unit test related to #3427 Also improve the description text in checkclass and remove unused variable. 2011-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Comparing bool with int: Fixed false positives 2011-12-23 PKEuS * lib/checkother.cpp, test/testother.cpp: improving checkSizeofForStrncmpSize 2011-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3419 (false positive: (style) Same expression on both sides of '&'.) 2011-12-23 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed #3441 (segmentation fault of cppcheck (%: return ; ())) 2011-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Clarify calculation: Fixed false positives when there are various function calls 2011-12-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false 'dangerous usage of strncpy' positive when resulting string is used by strncpy 2011-12-22 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Split long function in tokenizer. simplifyTemplatesInstantiate() 2011-12-22 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Make a 300 line function a little smaller. simplifyTemplatesInstantiate() 2011-12-22 PKEuS * test/testsuite.cpp: Bugfix for recent testrunner output improvement. Some output was not formatted well. 2011-12-22 Ettl Martin * test/testsymboldatabase.cpp: ticket 3437: added missing testcase 2011-12-22 Marek ZmysÅ‚owski * lib/symboldatabase.cpp: Fixed #3437 (segmentation fault of cppcheck) 2011-12-21 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #3433 (False positive: Same iterator is used with both myVector and myMap) 2011-12-20 Daniel Marjamäki * lib/checkother.cpp: CheckOther: Added line break to make the code more readable 2011-12-20 PKEuS * test/testsuite.cpp, test/testsuite.h: Improvement of testrunner's output - Separation between failures - \n is translated into "\\n\n" instead of "\\n", so that a newline is inserted - Succeeded TODOs are no longer mentioned twice - Removed "" around messages 2011-12-20 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3410 (Comparing bool against bool produces false positive) 2011-12-18 PKEuS * lib/checkother.cpp, lib/checkunusedvar.cpp, lib/checkunusedvar.h, test/testunusedvar.cpp: Refactorized CheckUnusedVar 2011-12-18 PKEuS * lib/checkstl.cpp: Fixed #3427 (False positive: (error) Dangerous usage of c_str(). The returned value by c_str() is invalid after this call.) 2011-12-18 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3327 (printf with std::string as parameter) 2011-12-18 PKEuS * test/testtokenize.cpp: Activate tests in TestTokenizer 2011-12-18 Daniel Marjamäki * test/testbufferoverrun.cpp: Array index out of bounds: Added test case for #3428 (same name of structs) 2011-12-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed #3428 (false negative: array bounds errors not found when duplicate class names present) 2011-12-18 Daniel Marjamäki * lib/checknullpointer.cpp, lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testnullpointer.cpp, test/testpreprocessor.cpp, test/testtokenize.cpp: Fixed #3425 (False positive: Null pointer dereference (pointer is checked in macro)) 2011-12-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Array index out of bounds: Avoid false positives when there are duplicate names for structs 2011-12-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: The tokenizer didn't handle '0x0E-7' correctly 2011-12-17 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Array index out of bounds: Fixed false positive when taking address beyond array using calculated array index 2011-12-17 OGAWA KenIchi * lib/checkexceptionsafety.cpp: Fixed #3422 (Internal error in exceptRethrowCopy check) 2011-12-17 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3424 (Tokenizer: doesn't tokenize if-if-else-else correctly) 2011-12-17 PKEuS * lib/checkbufferoverrun.cpp, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkother.cpp, lib/checkstl.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Improved support for references and pointers in SymbolDatabase Replaced several isPointer functions by Variable::isPointer function Refactorizations & Make use of symbolDatabase more often 2011-12-17 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when sizeof is used in condition. Ticket: #3369 2011-12-17 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3426 ((error) Invalid number of character ({) when these macros are defined:) 2011-12-17 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Array index out of bounds: Fixed false positive when size is not known. 2011-12-17 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false positive when sizeof without parentheses are used 2011-12-17 PKEuS * lib/checkclass.cpp, lib/checkother.cpp: Refactorings. Use reportError instead of reportInconclusiveError. 2011-12-17 PKEuS * lib/executionpath.cpp: Refactorizations for executionpath.cpp (rearranged code, added some else before if) 2011-12-17 PKEuS * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Patch that improves STL checking: Make use of SymbolDatabase, solved TODO (about returning .c_str() value), check for deleting iterators by value. 2011-12-17 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives in sizeof. Ticket: #3369 2011-12-17 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positive when address of variable is taken inside = { .. }. Ticket: #3369 2011-12-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3423 (Uninitialized variable in operator>>) 2011-12-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when many 'if' are used. Ticket: #3369 2011-12-16 PKEuS * lib/checkexceptionsafety.cpp, lib/checkother.cpp, test/testother.cpp: Patch that fixes some bailouts for isEnabled('style') in both directions. Improved checkSizeofForNumericParameter's error message, made it 'warning', made it non-experimental. 2011-12-16 Daniel Marjamäki * lib/checkuninitvar.cpp: Uninitialized variables: Fixed false positive for x 'a[x=1]'. Ticket: #3369 2011-12-16 Daniel Marjamäki * lib/checkuninitvar.cpp: Uninitialized variables: Fix false positives for '= { .. }'. Ticket: #3369 2011-12-15 Daniel Marjamäki * test/testuninitvar.cpp: Uninitialized variable: added TODO test case. Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positive in for condition. Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives when there are assembler code. Ticket: #3369 2011-12-15 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp, test/testpathmatch.cpp: Fixed #3048, further improvements to const correctness check. 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variable: Fixed test failure. Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp: Uninitialized variables: Fix false positive if variable is used after return (goto). Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp: Uninitialized variables: Fixed false positives when taking address. Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3418 (preprocessor define assignment not propagated) 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3414 (false positive: (error) Uninitialized variable: SOutput) 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3417 (False positive: Uninitialized variable when conditionally set) 2011-12-15 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer::isPointerDeref: better checking if pointer is not dereferenced 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: better handling of initialization with >>. Ticket: #3369 2011-12-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3415 (Segmentation fault in new check for uninitialized variables) 2011-12-14 PKEuS * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp, test/testunusedprivfunc.cpp: refactorizations for CheckClass and for less false negatives related to derived classes 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Detect more errors when variable is given as array index. Ticket: #3369 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives for loops. Ticket: #3369 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: Detect more errors. Ticket: #3369 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positive in new checking when variable is initialized in condition 2011-12-14 Daniel Marjamäki * lib/tokenize.cpp: astyle formatting 2011-12-14 PKEuS * lib/checkclass.cpp, test/testclass.cpp: Fixed #3296 (false positive (inconclusive): 'C::operator=' should return 'C &') 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: improved check to detect more errors. Ticket: #3369 2011-12-14 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positives for break/continue/throw 2011-12-13 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: remove redundant 'done' condition, related to ticket #3409. Add more possible letters to simplifyInitVar patterns. Replace 'tokAt(1)' with 'next()' and 'linkAt(1)' with 'next()->link()'. Little optimizing improvements to simplifyAsm. 2011-12-13 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: Uninitialized variables: Started writing a new check. Ticket: #3369 2011-12-13 PKEuS * lib/checkother.cpp, lib/checkuninitvar.cpp, lib/checkunusedvar.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Fixed #3407 (False positive: (inconclusive) Found duplicate branches for if and else. (inline assembler)) 2011-12-13 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3405 ((error) Invalid number of character ({) when these macros are def ined: 'WIN32'.) 2011-12-13 Edoardo Prezioso * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/symboldatabase.cpp: Workaround fixes to shut up some cppcheck '--inconclusive' whinings. 2011-12-12 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::simplifyGoto: fix another memory read error reported by Valgrind. Also improvements to Tokenizer are done. 2011-12-12 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: some changes to line numbers of some tokens: simplifyAsm: change line number of newly added 'asm ( )' in order to be the same as next ';'. simplifyIfAddBraces: Change line number of newly added '}' in order to be the same as next 'else', except for '{ ; } else'. 2011-12-12 Reijo Tomperi * lib/checknullpointer.cpp: astyle fix 2011-12-12 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #3405 ((error) Invalid number of character ({) when these macros are def ined: 'WIN32'.) 2011-12-12 Daniel Marjamäki * createrelease: Fixed #3401 (Run cppcheck on cppcheck source code before release) 2011-12-12 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: Fix another Valgrind error in simplifyErrNoInWhile. Add more jumping patterns to simplifyIfAddBraces and simplifyDoWhileAddBraces. 2011-12-12 Daniel Marjamäki * lib/checknullpointer.cpp: temporary fix for inconclusive false warnings. there is not sufficient logic for determining when there is NOT a pointer dereference. 2011-12-12 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer::isPointerDeRef: Skip inconclusive checking when --inconclusive hasn't been given. 2011-12-12 Edoardo Prezioso * lib/tokenize.cpp: Fix Valgrind error in arraySize(): if there's code like: 'int [ ] a = { 1 , 5 , }', 'end' is last '}', when 'tok2' arrives to second ',' and cppcheck finds out that next token to 'tok2' is '}', remove this ',' with 'tok2->deleteThis()' but it causes (maybe) a memory corruption to 'end' which will gave problems later because 'tok' will be assigned to it or its next token. 2011-12-12 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyDoWhileAddBraces: 1)rewrite fix for ticket #988 (just don't simplify inside macro parenthesis); 2)use a different organization of the code: start from last token and proceed backwards. This way 'simplifyDoWhileAddBracesHelper' can be called just once, hence the 'Helper' code can be improved and moved in the main function. 2011-12-11 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer::arraySize(): improve code structure, fixed 'tok2' for-looping which didn't stop to the ending '}' parenthesis. 2011-12-11 Edoardo Prezioso * test/testtokenize.cpp: Oops. Fix testrunner fail. 2011-12-11 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: simplifyIfAddBraces: Remove restriction for jumping opening parenthesis '(' as a fix to #2873, because even without this the original test case doesn't crash anymore. Add more jumping patterns. simplifyFunctionParameters: Add more jumping patterns and an observation related to error message for equal parameter names, help needed. Fix grammar mistake in comment. 2011-12-11 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checknullpointer.cpp: CheckNullPointer::isPointerDeRef: Tweaks to reduce false warnings when inconclusive is used. 2011-12-11 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #3168 (false negative: buffer overflow in subfunction) 2011-12-11 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Other improvements to tokenizer code. Handle SQL code better, even when there's no ';' after 'EXEC SQL'. simplifyVarDecl: Check with 'Token::Match' once when you have to check a pattern inside which there should be a number or a variable. Use '%any%' and after that check if that string is a number or a variable name later. simplifyGoto: process also anonymous structs and unions which should have 'indentspecial' incremented, skip code like 'var = { ... }'. 2011-12-10 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fix code in commit 5f522fb84184fd725ee6ab4a906410e28465b800 and reapply it again. 2011-12-10 Reijo Tomperi * cli/cmdlineparser.cpp, man/cppcheck.1.xml: Fix spelling error: explicitely -> explicitly 2011-12-10 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: reverted 5f522fb84184fd725ee6ab4a906410e28465b800, to avoid hang in TestBufferOverrun::arrayInfo 2011-12-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: reverted fix for #3168, I'll rewrite it 2011-12-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #3168 (false negative: buffer overflow in subfunction) 2011-12-10 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: improve code and remove redundant checks. In particular: improve 'double sharp' concatenation by handling also code which begins without the [{};]. Do the same with C# code. Also, in the labels simplification function, skip also '{}' when the open bracket is after a '='. 2011-12-10 Daniel Marjamäki * lib/check64bit.h: Check64BitPortability: Wiki formatting update 2011-12-10 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/checkinternal.h: --doc : don't write internal checks in the doc output 2011-12-10 Daniel Marjamäki * htdocs/index.php: htdocs: updated download link to 1.52 installer 2011-12-10 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: Improve labels simplification code, remove redundant checking. 2011-12-10 Daniel Marjamäki * createrelease: createrelease: updated username in commands 2011-12-10 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2011-12-10 Daniel Marjamäki * Makefile: 1.52: Updated Makefile 2011-12-10 Daniel Marjamäki * Changelog: 1.52: Updated Changelog 2011-12-10 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.52: Updated version 2011-12-10 PKEuS * lib/checkmemoryleak.cpp, lib/checkstl.cpp: Memory leaks: Code cleanups 2011-12-10 Daniel Marjamäki * : Merge pull request #67 from makulik/master Fixed ticket #3389 '-U option doesn't supress include file handling for #include statements inside #ifdef code paths' 2011-12-09 Edoardo Prezioso * lib/checkbufferoverrun.cpp: CheckBufferOverrun::checkInsecureCmdLineArgs(): Remove recently unused variable 'pattern'. 2011-12-09 PKEuS * lib/checkbufferoverrun.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, test/teststl.cpp: Take symbol database into use or improve its usage in some checks. 2011-12-09 makulik * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket #3389 '-U option doesn't supress include file handling for #include statements inside #ifdef code paths' Signed-off-by: makulik 2011-12-09 PKEuS * lib/checkassignif.cpp, test/test64bit.cpp, test/testassignif.cpp, test/testautovariables.cpp, test/testcharvar.cpp, test/testmemleak.cpp, test/testnonreentrantfunctions.cpp, test/testobsoletefunctions.cpp, test/testother.cpp, test/testpostfixoperator.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Code cleanup 2011-12-09 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: 1)Fixed ticket #3184 (Improve Tokenizer: improve simplifyMulAnd to simplify weirder code); 2)Fix a test case inside TestSimplifyTokens::flowControl. 2011-12-09 PKEuS * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Exception safety: refactorings, use the symbol database 2011-12-08 Daniel Marjamäki * lib/tokenize.cpp: C++ Builder : Fixed compiler error 2011-12-08 Daniel Marjamäki * lib/preprocessor.cpp: C++ Builder: Fixed compiler errors 2011-12-08 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Use const_iterator instead of iterator where possible 2011-12-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp: C++ Builder: Fixed compiler error 2011-12-08 PKEuS * cli/filelister.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkstl.cpp, lib/checkunusedvar.cpp, lib/mathlib.cpp, lib/preprocessor.cpp, lib/tokenize.cpp, test/testexceptionsafety.cpp, test/testpreprocessor.cpp, test/teststl.cpp, test/testtokenize.cpp: Various code cleanups 2011-12-08 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3394 (False positive: possible null pointer dereference) 2011-12-08 PKEuS * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testmemleak.cpp, test/testnonreentrantfunctions.cpp, test/testobsoletefunctions.cpp, test/testpostfixoperator.cpp: Tokenizer: Code cleanups 2011-12-08 Edoardo Prezioso * lib/tokenize.cpp: Add more kind of code to process for 'removeExceptionSpecifications' (unions, anonymous unions and structs). 2011-12-08 Edoardo Prezioso * lib/checkmemoryleak.cpp, lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: 1)Remove newly copy of 'eraseTokens' and replace every occurrence with 'deleteNext' with right parameter. 2)General improvements to code. 2011-12-07 Edoardo Prezioso * AUTHORS, lib/token.cpp, lib/token.h: Extend 'Token::deleteNext' by introducing a new parameter which determines how many tokens should be deleted. It's still not used, though. 2011-12-07 Daniel Marjamäki * tools/extracttests.py: extracttests.py: reverted last change. see comments on github. 2011-12-07 PKEuS * lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: Refactorings and improvements. Better handling of [] 2011-12-07 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed #3381 (false positive: (style) Statements following return, break, continue, goto or throw will never be executed) 2011-12-07 Daniel Marjamäki * tools/extracttests.py: extracttests.py: python 3 compatibility updates 2011-12-07 Edoardo Prezioso * lib/checkmemoryleak.cpp, lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: 1)Implement another declaration of 'Token::eraseTokens' with parameters: the starting token and the number of times needed to call 'deleteNext'. 2)Use the overloaded 'eraseTokens' where needed instead of using consecutively 'deleteNext'. 3)Tokenizer: general optimizations about the deletion of some tokens. 4)Run astyle. 2011-12-06 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Add 'exit' and 'abort' to the flow control list in order to simplify code after them. 2011-12-06 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Partial fix ticket #3385 ('throw' isn't removed if the argument of the function is type 'struct|class'). 2011-12-06 Ettl Martin * test/testbufferoverrun.cpp: sanity check for ticket #3387 ( buffer access out of bounds) 2011-12-06 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Remove some redundant parenthesis - part 9 2011-12-05 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: use more 'deleteNext' instead of 'eraseTokens' where possible. 2011-12-05 Edoardo Prezioso * lib/checkmemoryleak.cpp: CheckMemoryLeakInFunction::simplifycode : use properly 'deleteNext' instead of 'deleteThis' or 'eraseTokens' and remove redundant conversion to 'std::string'. 2011-12-05 Edoardo Prezioso * lib/tokenize.cpp: Oops. I should eventually keep ';', not 'typedef'. 2011-12-05 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: use 'deleteNext()' or, even better, 'eraseTokens' instead of 'deleteThis()' where possible. 2011-12-04 Daniel Marjamäki * tools/extracttests.py: extracttests.py: create output folders if they dont exist 2011-12-04 PKEuS * lib/checkother.cpp: Optimize checkother.cpp by taking symbolDatabase into use. 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Remove some redundant semicolons - part 8 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Remove some redundant semicolons - part 7 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Remove some redundant semicolons - part 6 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Remove some redundant semicolons - part 5 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyConst : handle also '%type% const' when the 'type' token is the first one in the list. 2011-12-04 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: 1) Remove some redundant semicolons - part 4 ('typedef' != _tokens.str()); 2) Tokenizer: Use Token::eraseTokens instead of using the same instructions as the ones inside such function. 2011-12-04 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3359 (False positive: array[idx++] += val triggers unexpected 'Array index out of bounds' error) 2011-12-04 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: improved handling of inner templates. Partial fix for #3226 2011-12-03 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyFlowControl: 1) remove consecutive 'break' or 'continue', since they don't influence the CheckOther results; 2) improve the code speed where possible; Tokenizer::eraseDeadCode: Ditto. 2011-12-03 Thomas Jarosch * lib/tokenize.cpp: The usual astyle run 2011-12-03 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3350 (Analysis failed) 2011-12-03 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3358 (False null pointer dereference positive with ternary ?: operator) 2011-12-03 Daniel Marjamäki * lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, test/testunusedfunctions.cpp: Fixed #3336 (False positive: Member function is not used (used by template function)) 2011-12-03 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3375 (Improve check: Detect unreachable code) 2011-12-03 Daniel Marjamäki * lib/checkother.cpp: Fixed gcc compiler warnings 2011-12-03 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3267 (False positive: resource leak in vdr-xinelib) 2011-12-03 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Add 'throw' to the flow control statements list for simplification of dead code. 2011-12-02 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Remove some redundant semicolons - part 3 2011-12-02 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Remove some redundant semicolons - part 2 2011-12-02 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Remove some redundant semicolons - part 1 2011-12-02 Daniel Marjamäki * tools/extracttests.py: extractpython.py: cleanup 2011-12-02 Daniel Marjamäki * tools/extracttests.py: extracttests: refactorings. dont include dynamic strings in the listing 2011-12-02 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checkother.cpp, test/testnullpointer.cpp, test/testother.cpp: Fixed #3373 (False posititive: incorrect %* handling in sscanf) 2011-12-02 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3345 (false positive: possible null pointer dereference (guarded by &&)) 2011-12-01 Richard Quirk * lib/checkother.cpp: Fix possible null pointer dereference 2011-12-01 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Fix false positive with non-const function calls 2011-12-01 Richard Quirk * lib/checkother.cpp: Refactor the same expression check Work out if a function is inconclusive when creating the entry in the Expressions class instead of when checking the counts at the end. Store the result in a new bool flag in the ExpressionTokens helper struct. The pointer to symbol database and ref to list of const functions are temporarily stored in the Expressions helper class to avoid passing them in too on every endExpr(tok) call. Use a const reference to ExpressionTokens in the check loop to avoid repeating the it->second several times, which clarifies what that code does. 2011-12-01 PKEuS * lib/checkother.cpp: Coding fixes and refactorings 2011-12-01 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h: Fixed Visual Studio compiler warnings 2011-12-01 Daniel Marjamäki * lib/checkother.cpp: Fixed Visual Studio compiler warnings 2011-12-01 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3354 (Incorrect both sides of '||' expression match when using increment in expression.) 2011-12-01 Daniel Marjamäki * lib/checkother.cpp: checkDuplicateExpressions: validate tokens instead of string. Fix for my previous commit. 2011-12-01 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3334 (Test for same expression on both sides of '&' reports false positive) 2011-12-01 Edoardo Prezioso * lib/checkautovariables.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkuninitvar.cpp, lib/preprocessor.cpp, lib/tokenize.cpp: 1)internal check found a 'findmatch' with simple string argument; 2)Style: uniform 'while (...)' when inside it there's an assignment; 3)Replace '0' with 'NULL' where there's comparison with a pointer. 2011-11-30 Daniel Marjamäki * : Merge pull request #66 from makulik/master Fixed preprocessor testcases 2011-11-30 makulik * test/testpreprocessor.cpp: Removed int cast from undef preprocessor testcases Signed-off-by: makulik 2011-11-30 makulik * test/testpreprocessor.cpp: Fixed preprocessor testcases Signed-off-by: makulik 2011-11-30 Daniel Marjamäki * : Merge pull request #65 from makulik/master Solution for ticket #3353 'Allow explicit undef's for configuration' 2011-11-30 Edoardo Prezioso * lib/checkmemoryleak.cpp, lib/tokenize.cpp: 1) Shut up GCC compiler for 'missing braces around assignment'; 2) Tokenizer::simplifyGoto: Code refactoring in order to skip code inside '()|[]' parentheses without counting. 2011-11-30 makulik * cli/cmdlineparser.cpp: Run astyle Signed-off-by: makulik 2011-11-30 makulik * cli/cmdlineparser.cpp, lib/preprocessor.cpp, lib/settings.h, man/cppcheck.1.xml, test/testcmdlineparser.cpp, test/testpreprocessor.cpp: Solution for ticket #3353 'Allow explicit undef's for configuration' Signed-off-by: makulik 2011-11-30 PKEuS * lib/checknullpointer.cpp, lib/checkother.cpp, test/testnullpointer.cpp, test/testother.cpp: Fixed #3364 (Crash in printf parsing) 2011-11-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3268 (False positive: resource leak in vdr-xineliboutput) 2011-11-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp, test/testthreadexecutor.cpp: Fixed #3267 (False positive (experimental): resource leak in vdr-xinelib) 2011-11-30 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testsuppressions.cpp, test/testuninitvar.cpp: Uninitvar: Reactivated the checking 2011-11-29 Daniel Marjamäki * tools/extracttests.py: extracttests.py : improved errors.txt output 2011-11-29 Daniel Marjamäki * lib/checkother.cpp: astyle formatting 2011-11-29 Akio Idehara * Makefile, tools/dmake.cpp: Fixed #3346 (cygwin detection for _GLIBCXX_DEBUG in Makefile) 2011-11-29 Edoardo Prezioso * lib/checkother.cpp: Fixed ticket #3366 (Build breakage) 2011-11-29 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3356 (false positive: (warning) Comparison of a boolean with integer that is neither 1 nor 0) 2011-11-29 Daniel Marjamäki * : Merge pull request #61 from richq/sameexpr Fix for #3317 - same expression on both side of '&&' false positives 2011-11-29 Daniel Marjamäki * tools/extracttests.py: extracttests.py: minor code fixes of --code handling 2011-11-28 Daniel Marjamäki * tools/extracttests.py: extracttests.py: added option to output test files 2011-11-28 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Improvements to Nullpointer dereference on function call check: printf format string parser improved (similar to my recent patch on the argument counter), frexp/modf supported (#1572), Code cleanup 2011-11-28 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3303 (false positive: memory leak (reference count)) 2011-11-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: sizeof for numeric constant : disabled check. see ticket #3179 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: improved command line parser 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: cleaned up the code for parsing of command line 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: exit if wrong command line is given 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: reduce line lengths 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: close input file 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: renamed 'str' to 'string' 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: added docstrings. added navigation links. 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: allow user to see 'error cases only' 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: added function 'trimname' 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: Added a little help info 2011-11-27 Daniel Marjamäki * tools/extracttests.py: extracttests.py: Added tool for extracting test information 2011-11-27 Marek ZmysÅ‚owski * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #909 (improve check: out of bounds of memchr function and out of bounds check) 2011-11-27 PKEuS * lib/checknullpointer.cpp: code refactoring 2011-11-27 PKEuS * lib/checkbufferoverrun.cpp, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3311, #3313 and #3339 (printf format string false positives) 2011-11-26 PKEuS * lib/check64bit.cpp, lib/checkother.cpp, test/testnullpointer.cpp: code cleanups and refactorings 2011-11-26 PKEuS * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/tokenize.cpp: code cleanups and refactorings 2011-11-25 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: memory leaks: Made leak checking inconclusive instead of experimental 2011-11-25 Marek ZmysÅ‚owski * gui/mainwindow.cpp: Fixed #3216 (GUI: Crash when cancel is clicked in the New Project dialog) 2011-11-25 Marek ZmysÅ‚owski * test/teststl.cpp: Fixed #1841 (STL: false negative for invalidated iterator after erase) 2011-11-25 Marek ZmysÅ‚owski * lib/tokenize.cpp, test/testmemleak.cpp, test/testtokenize.cpp: Fixed #3212 (Simplify the double pointer cast) 2011-11-24 Thomas Jarosch * lib/tokenize.cpp: Use Token::simpleMatch instead of Token::Match "--enable=internal" reported: [lib/tokenize.cpp:3563]: (warning) Found simple pattern inside Token::Match() call: ") ;" 2011-11-24 Thomas Jarosch * test/testclass.cpp: Run astyle 2011-11-10 Richard Quirk * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fix ticket #3317 (same expression false positives) Add a check for function calls that have no side effects. That means known const methods and a list including strcmp, strlen, etc. If the function is not known to be side effect-free then no style warning is given. Add test cases for the duplicate expressions. 2011-11-12 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Remove false positives for nested logic 2011-11-23 Richard Quirk * lib/checkclass.cpp, test/testclass.cpp: Fix ticket #2233 (unused private static function) 2011-11-23 Richard Quirk * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fix false positives for null pointer on exit 2011-11-22 Daniel Marjamäki * lib/checkbufferoverrun.h, lib/checkother.cpp, lib/symboldatabase.h, lib/token.cpp, lib/token.h: DJGPP: Fixed a few compiler errors by using std::size_t instead of size_t 2011-11-22 Daniel Marjamäki * lib/checkmemoryleak.cpp: removed unused include 2011-11-22 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Fixed #3196 (False positive: member variable not initialized in constructor (union)) 2011-11-22 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #3352 (False positive: member variable not initialized (3D array)) 2011-11-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId: Fixed problem with class declarations with inheritance. skip them. 2011-11-21 Daniel Marjamäki * lib/cppcheck.cpp: Fixed #3347 (False positive: unused function (taking address)) 2011-11-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId: fixed 'using' bug 2011-11-21 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: operator= should return reference: Made check inconclusive. See ticket #3296 2011-11-21 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Mismatching format string parameters. Made check experimental. See tickets #3311, #3313 and #3339 2011-11-21 Reijo Tomperi * lib/cppcheck.cpp, lib/token.cpp, test/testtoken.cpp: "Internal error. Token::Match called with varid 0." didn't work when error was in a header file. Fixed that. 2011-11-21 Reijo Tomperi * lib/cppcheck.cpp: Make --debug-fp work with new exception also. 2011-11-20 Reijo Tomperi * lib/cppcheck.cpp, lib/token.cpp, test/testtoken.cpp: astyle fix 2011-11-20 Reijo Tomperi * lib/cppcheck.cpp, lib/token.cpp, test/testtoken.cpp: "Internal error. Token::Match called with varid 0." will now cause check to abort and write a proper error log with filename. Previously filename was empty and format was always xml. 2011-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3281 (Tokenizer::simplifyKnownVariables : static constant value is not used) 2011-11-20 Marek ZmysÅ‚owski * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Fixed #3255 (Error message for std::string::c_str() is not descriptive) 2011-11-20 Edoardo Prezioso * lib/checkclass.cpp, lib/tokenize.cpp, lib/tokenize.h: 1) Run runastyle; 2) Clarify some comments in 'Tokenizer::simplifyFlowControl' and in 'Tokenizer::eraseDeadCode'; 3) Add some 'const' variables inside 'Tokenizer::eraseDeadCode'. 2011-11-20 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Completed ticket #3230 (Refactoring: add function to remove tokens when a label is found.) and fixed ticket #3264 (False positive: Variable is assigned a value that is never used). 2011-11-20 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Class checking: made 'technically function x can be const' inconclusive 2011-11-20 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testtokenize.cpp: astyle formatting 2011-11-14 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Fix false positives for %[ in scanf 2011-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3316 (Cppcheck reporting internal errors - code compiles cleanly) 2011-11-20 Edoardo Prezioso * lib/checkautovariables.cpp, lib/checkboost.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkobsoletefunctions.cpp, lib/checkother.cpp, lib/checkunusedfunctions.cpp: Change every 'tokAt(1)' to 'next()' and every 'tokAt(-1)' to 'previous()'. Added a safety check to ensure that a 'previous()' call doesn't crash (not sure if it's needed or not). 2011-11-20 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testsuppressions.cpp, test/testuninitvar.cpp: Uninitvar: Made checking experimental 2011-11-20 Edoardo Prezioso * lib/check64bit.cpp, lib/checkautovariables.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/checkstl.cpp, test/testsymboldatabase.cpp: Change every 'tokAt(1)->' to 'next()->' because 'tokAt(1) == 0' is equivalent to 'next() == 0', hence the equivalent cppcheck crash. 2011-11-20 Edoardo Prezioso * lib/checkassignif.cpp, lib/checkautovariables.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/checkuninitvar.cpp, lib/checkunusedvar.cpp, lib/executionpath.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp, test/testtokenize.cpp: Change every 'tokAt(..)->link()' to 'linkAt(..)'. 2011-11-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp, test/testthreadexecutor.cpp: Memory leaks: Made CheckMemoryLeakInFunction experimental 2011-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3280 (False positive: assigned value that is never used) 2011-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3340 (Internal error. Token::Match called with varid 0... union is causing problems) 2011-11-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed #3328 (False negative: out of bounds) 2011-11-19 Daniel Marjamäki * lib/check.h: Reverted previous commit. There are testrunner problems when the code is removed. 2011-11-19 Daniel Marjamäki * lib/check.h: removed cleanup code that will crash in some environments. it's somewhat redundant. 2011-11-19 Daniel Marjamäki * lib/check.h: Fixed #3329 (cppcheck core dump on Sun machine) 2011-11-19 Edoardo Prezioso * : commit ccdb18f21363e6351da7d753df975b59c9f298c3 Author: Edoardo Prezioso Date: Sat Nov 19 13:34:36 2011 +0100 2011-11-19 Daniel Marjamäki * lib/checkassignif.cpp, test/testassignif.cpp: Fixed #3332 (mismatching comparison: Hard to understand) 2011-11-18 Edoardo Prezioso * test/testsimplifytokens.cpp: Add more tests for flow control simplification. 2011-11-18 Edoardo Prezioso * test/testsimplifytokens.cpp: Add test for the consecutive braces simplification, thanks to thomasjfox's example. 2011-11-18 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h, test/testassignif.cpp: improved error message 'mismatching comparison' 2011-11-17 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: better handling of #define A 0 => #if A==0. ticket #3331 2011-11-17 Marek ZmysÅ‚owski * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #886 (new check: wrong value passed to isgraph function) 2011-11-13 Stefan Weil * lib/preprocessor.cpp: Preprocessor: Fix comments (backspace -> backslash) Signed-off-by: Stefan Weil 2011-11-12 Stefan Weil * lib/settings.cpp: support any number of --append= options If one or more append files are given on the command line, they are simply concatenated. Signed-off-by: Stefan Weil 2011-11-13 Stefan Weil * lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h: Optimize handling of --append= option (execution time, memory) Whitespace was removed from the append data for every configuration and every file: n(configuration) * n(files). Removing whitespace immediately after the append data was read can significantly reduce the execution time and memory usage. It also allows further improvement because copies to the temporary object appendCode are no longer needed. Signed-off-by: Stefan Weil 2011-11-12 Stefan Weil * cli/cmdlineparser.cpp, lib/settings.cpp, lib/settings.h: cmdlineparser: terminate with error message if --append= fails Signed-off-by: Stefan Weil 2011-11-14 Thomas Jarosch * lib/tokenize.cpp, test/testsimplifytokens.cpp: Run astyle 2011-11-14 Thomas Jarosch * lib/token.cpp, lib/token.h: Adapt Token::strAt() to return a const reference like Token::str() does Saves us a complete conversion from string.c_str() back to std::string. 2011-11-13 Richard Quirk * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fix false positives for delete of known nulls 2011-11-13 Edoardo Prezioso * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkexceptionsafety.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/checkuninitvar.cpp, lib/checkunusedvar.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Change every 'tokAt(...)->str()' to 'strAt(...)'. 2011-11-12 Edoardo Prezioso * lib/checkobsoletefunctions.cpp, lib/checkpostfixoperator.cpp, lib/checkstl.cpp, lib/checkunusedvar.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Change: 'next()->next()'->'tokAt(2)', 'previous()->previous()'->'tokAt(-2)'. 2011-11-12 Edoardo Prezioso * lib/tokenize.cpp: Add simplification of the consecutive braces before the end of 'tokenize()' function. 2011-11-12 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Add removal of consecutive braces, i.e.: '{ { ... } }'->'{ ... }'. Changed a little bit the dead code tests. 2011-11-11 Edoardo Prezioso * lib/token.cpp, lib/token.h: 1)Add 'Token' function 'linkAt', which simplifies the writing 'tokAt(i)->link()' to 'linkAt(i)'. It's still unused, though. 2)Fix one grammatical mistake inside token.h 3)Style change to token.cpp: remove the whitespace between '!' and 'begin'. 2011-11-11 Thomas Jarosch * lib/token.h: Remove check for "this" inside Token class The check hides real memory problems and is also useless in most cases. 2011-11-11 Daniel Marjamäki * lib/tokenize.cpp: added todo comment 2011-11-11 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3314 (cppcheck incorrectly reporting Syntax error.) 2011-11-11 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3290 (False positive: Null pointer dereference (typeid)) 2011-11-11 Daniel Marjamäki * cli/cppcheckexecutor.cpp: Fix #3277 (Other: attempt to copy-construct an iterator from a singular iterator) 2011-11-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Fixed false positive for 'char *p = strcpy(malloc(10),str);' 2011-11-11 Reijo Tomperi * cli/cmdlineparser.cpp, man/cppcheck.1.xml, man/manual.docbook: Fix #3324 (Change "--template ''" into "--template=''") http://sourceforge.net/apps/trac/cppcheck/ticket/3324 https://sourceforge.net/apps/trac/cppcheck/wiki/DesignDecisions 2011-11-10 Reijo Tomperi * test/testtokenize.cpp: Astyle fix 2011-11-10 Stefan Weil * cli/cmdlineparser.cpp: cmdlineparser: add support for --template= The GNU standard for long command line options is --option=value. All other long options of cppcheck support this, so add it for the template option, too. --template xxx can be made obsolete later. Should the documentation and tests also be changed now? Signed-off-by: Stefan Weil 2011-11-10 Reijo Tomperi * readme.txt: Fix readme.txt to match current HAVE_RULES behaviour. 2011-11-09 Daniel Marjamäki * : Merge pull request #60 from richq/varid0 Fix varid 0 with function pointer and virtual methods 2011-11-09 Reijo Tomperi * cli/threadexecutor.cpp: Improve error logging in ThreadExecutor 2011-11-09 Thomas Jarosch * test/teststl.cpp: Add negative test for .c_str() unit test and TODO_ASSERT_EQUALS (#3266) 2011-11-09 Richard Quirk * lib/tokenize.cpp, test/testtokenize.cpp: Fix varid 0 with function pointer and virtual methods 2011-11-09 Thomas Jarosch * lib/checkother.cpp: Run astyle 2011-11-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3279 (Token::Match called with varid 0) 2011-11-08 Daniel Marjamäki * : Merge pull request #59 from richq/sameexpr Improved same expression check for ticket #3274 2011-11-09 Reijo Tomperi * lib/checkother.cpp, test/testother.cpp: Fix #3307 (Invalid format string/parameter mismatch warning) http://sourceforge.net/apps/trac/cppcheck/ticket/3307 2011-11-08 Edoardo Prezioso * test/testtokenize.cpp: Oops. 2011-11-08 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3309 (false positive: (style) Boolean result is used in bitwise operation. Clarify expression with parentheses) 2011-11-08 Richard Quirk * lib/mathlib.cpp: Remove duplicate expressions on both sides of || 2011-11-08 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Fix for same expression separated by commas The code branch tested by the previous check for && is now different, so I've changed the test to use == instead. There was also a missing case when the expression was followed by a comma instead of being preceded by one. 2011-11-08 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Improved %or% and & checks 2011-11-08 Richard Quirk * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improved same expression check for ticket #3274 Expand the logic for the check for the same expression on both sides of the || and && operators. Now expressions can be more complex, with the "alt" variable helping to fudge operator precedence to avoid false positives. 2011-11-08 Edoardo Prezioso * test/testtoken.cpp: Add test for Token::eraseTokens. 2011-11-08 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed tokenizer: don't change '*(str+num)' if '*' means a product with a previous variable or number. Ditto for '&str[num]' (still commented). 2011-11-08 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3310 (segmentation fault of cppcheck) 2011-11-08 Edoardo Prezioso * test/testsimplifytokens.cpp: Refactoring: unify same dead code tests with a list. 2011-11-07 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Improve tokenizer: remove more redundant parenthesis and add a prototype code for: '&str[num]'=>'(str+num)' with reporting non obvious test failures. 2011-11-07 Marek ZmysÅ‚owski * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #70 (Locate memory leaks when alloc happens in function parameter) http://sourceforge.net/apps/trac/cppcheck/ticket/70 2011-11-07 Reijo Tomperi * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fix #3278 (FP: Possible null pointer dereference with for loop) http://sourceforge.net/apps/trac/cppcheck/ticket/3278 Bail out if token "for" is encountered. 2011-11-07 Edoardo Prezioso * lib/checkinternal.cpp: Conforming style: always use 'std::' namespace where needed. This removes the mixing style inside the code. 2011-11-06 Thomas Jarosch * lib/token.cpp, test/testtoken.cpp: Fix false positive of %or% match in alternative pattern match code %or% triggered on code using "|=" or "||". 2011-11-06 Richard Quirk * lib/checkstl.cpp, test/teststl.cpp: Fix namespaced types for auto_ptr new[] errors This fixes false negatives for code such as: std::auto_ptr p(new foo::bar[10]); The idea is to find a "new", search for the end token ";", then see if the declaration ends in a closing square bracket. Also fixes other cases that checked for "new %type% [" so that they work with namespaces. 2011-11-06 Thomas Jarosch * test/testtoken.cpp: Extended isOp() tests to do proper negative testing against other operators 2011-11-06 Thomas Jarosch * test/testtoken.cpp: Unit test for Token::isArithmeticalOp() and Token::isStandardType() 2011-11-06 Thomas Jarosch * test/testtoken.cpp: Unit test for %varid% match Also run astyle. 2011-11-06 Thomas Jarosch * test/testtoken.cpp: Unit test for %type% and %str% matches 2011-11-06 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3233 (false positive: (style) Checking if unsigned variable 'i' is less than zero.) 2011-11-06 Thomas Jarosch * test/testtoken.cpp: Unit test for Token::isExtendedOp() and Token::isAssignmentOp() 2011-11-06 Thomas Jarosch * lib/token.cpp, test/testtoken.cpp: Fix single %op% operator not working at all When parsing the Token::Match pattern, we accesed the wrong character in the pattern and never executed the %op% check. In addition the unit test function for %op% wasn't registered in the test suite. Ups. All fixed now and also provide a complete check for all operators %op% supports. 2011-11-06 Edoardo Prezioso * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Improve same expression check: remove '%op%' pattern and add ',' for the same expressions as an argument inside a function. Improve compound assignment simplification: use already defined 'isAssignmentOp' and extend the adding parenthesis to a generic operator, not only to the arithmetical ones. See: http://en.cppreference.com/w/cpp/language/operator_precedence 2011-11-06 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #3282 (Invalid report that an array index is of type char.) 2011-11-06 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/settings.cpp, test/testpreprocessor.cpp: Fixed #3275 (Missing includes always reported) 2011-11-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3265 (false positive: comparison of bool with nonzero integer) 2011-11-05 Edoardo Prezioso * lib/checkother.cpp, test/testother.cpp: Improve same expression check: take count of operations and assignments before the same expression and add missing 'return' pattern to the struct member variable part of the check. 2011-11-05 Daniel Marjamäki * lib/checkother.cpp, test/testincompletestatement.cpp: Fixed #3251 (Redundant code: Found a statement that begins with numeric constant) 2011-11-05 Daniel Marjamäki * lib/token.cpp: astyle formatting 2011-11-05 Daniel Marjamäki * lib/token.cpp: Token: assert that multicompare patterns don't begin with some %% command 2011-11-05 Daniel Marjamäki * lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testtoken.cpp: Fixed #3294 (Token::Match multi compare false negative) 2011-11-05 Daniel Marjamäki * : Merge pull request #55 from richq/sameexpr Improve for same expression on both sides of operator 2011-11-05 Zhiyuan Zhang * cli/cppcheckexecutor.cpp: Fixed #3292 (Error in --suppressions-list silently ignores all subsequent command line options) 2011-11-05 Reijo Tomperi * cli/cppcheckexecutor.cpp: Fix typo "Cpppcheck" 2011-11-05 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Improve for same expression on both sides of operator 2011-11-05 Richard Quirk * lib/checkstl.cpp, test/teststl.cpp: Extra check for auto_ptr new[] This fixes cases like this: auto_ptr bar(new foo[10]); which previously did not work correctly. 2011-11-05 Thomas Jarosch * test/testtoken.cpp: Test case to demonstrate #3294 2011-11-05 Daniel Marjamaki * lib/tokenize.cpp, lib/tokenize.h, test/testsymboldatabase.cpp, test/testtokenize.cpp: Fixed #3188 (Function parser false positive) 2011-11-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3117 (Tokenizer::simplifyKnownVariables : Don't simplify static variable that is changed) 2011-11-05 Daniel Marjamäki * lib/checkother.h: fixed --doc output 2011-11-05 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3089 (New Check: Detect wrong usage of printf/scanf) 2011-11-04 Daniel Marjamäki * : Merge pull request #54 from gansb/master Testcases for #3287 and #3290 2011-11-04 Benjamin Goose * test/testnullpointer.cpp, test/testuninitvar.cpp: Add tests for various bugs. False positive: uninitialized variable (ticket #3287). False positive: null pointer dereference in typeid (ticket #3290). 2011-11-03 Reijo Tomperi * lib/token.cpp: Improve internal error print out, print line number with the error message. 2011-11-03 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #3248 (Tokenizer: better handling of char constants that are compared with numeric constants) 2011-11-03 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #3285 (wrong #elif behaviour) 2011-11-02 Daniel Marjamaki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed failed unit test 2011-11-02 Daniel Marjamaki * test/testpreprocessor.cpp: Removed old test case for missing includes. There is better testing in TestPreprocessor::def_missingInclude 2011-11-02 Daniel Marjamaki * test/testpreprocessor.cpp: Preprocessor: Unit test handling of missing includes in 'normal' preprocessing 2011-11-02 Daniel Marjamaki * lib/preprocessor.cpp: Preprocessor: Don't warn about missing system headers during 'normal' preprocessing 2011-11-02 Daniel Marjamaki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3279 (Token::Match called with varid 0) 2011-11-02 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testconstructors.cpp: removed 'explicit constructors' check. see comments in pull request #51 for the reasons. 2011-11-01 Daniel Marjamaki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3272 (Internal error) 2011-11-01 Edoardo Prezioso * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, gui/gui.cppcheck, lib/checkclass.cpp, lib/symboldatabase.h, lib/tokenize.cpp: Fix some complainted choices made in my older commits. Note: probably you should do 'make clean' before using 'make' to rebuild it again. Maybe it's me but 'make' reports various errors when linking. 2011-11-01 Ettl Martin * test/testbufferoverrun.cpp: added testcase for ticket #3273 2011-11-01 Edoardo Prezioso * cppcheck.cppcheck: Fixed: some gui/temp headers reported missing includes from gui/ folder. 2011-10-31 Ettl Martin * cli/cmdlineparser.h, cli/pathmatch.h: cli: added 'explicit'-keyword in CmdLineParser and PathMatch ctor 2011-10-31 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: updated error messages for 'useless call to find/swap/substr'. Ticket: #3258 2011-10-31 Daniel Marjamäki * : Merge pull request #53 from gansb/master Add missing newline 2011-10-31 Benjamin Goose * lib/standards.h: Add newline at end of file! 2011-10-31 Edoardo Prezioso * lib/checkother.cpp: Fixed ticket #3269 (Regression, I think it's somehow related to symbol database) 2011-10-31 Edoardo Prezioso * lib/checkbufferoverrun.cpp, lib/checkother.cpp, lib/tokenize.cpp: General code tweaking, nothing strange. 2011-10-30 makulik * cli/cmdlineparser.cpp, man/cppcheck.1.xml: Small fixes for -I and --includes-file help texts 2011-10-30 Daniel Marjamaki * lib/preprocessor.cpp, lib/preprocessor.h: Preprocessor: Bailout #include if it is recursive 2011-10-30 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Enable 'normal' preprocessing whenever any defines are given. The special define CPPCHECK-TEST isn't needed anymore. 2011-10-30 Edoardo Prezioso * cli/cppcheckexecutor.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkinternal.cpp, lib/checkstl.cpp, lib/tokenize.cpp, tools/dmake.cpp: Fix some GCC warnings regarding the sign conversion. 2011-10-30 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3231 (False positive: uninitialized variable '({...})') 2011-10-30 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3228 (false positive: possible null pointer dereference) 2011-10-30 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testconstructors.cpp: astyle formatting 2011-10-30 Daniel Marjamaki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3222 (false positive: Uninitialized variable with function pointer) 2011-10-30 Edoardo Prezioso * test/testclass.cpp, test/testother.cpp: Fix all the test failures caused by my previous commit. 2011-10-30 Edoardo Prezioso * test/testclass.cpp, test/testother.cpp: Fixed lots of test failures caused by my previous commit. There are still some which I don't know how to fix. 2011-10-30 Edoardo Prezioso * lib/checkclass.cpp, lib/checkother.cpp: Fixed: with checkConst and checkVariableScope wanted still required "information" settings instead of "style". 2011-10-30 Daniel Marjamaki * lib/checkclass.h: CheckClass: Added classInfo about explicit checking 2011-10-30 Daniel Marjamaki * lib/checkunusedfunctions.cpp: Visual Studio: Fixed compiler error 2011-10-30 Daniel Marjamäki * : Merge pull request #51 from richq/explicit Explicit constructors 2011-10-29 Edoardo Prezioso * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Little improvements with cli messages and added new '--template' mode: 'edit'. This option makes it possible opening correctly some editors like 'gedit' or 'vim' by copy-pasting the filename and the line to the command sequence. 2011-10-29 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer: Change 'var++|--;' into '++|--var;' and remove redundant 'tokAt(0)'. 2011-10-29 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3092 (Tokenizer::setVarId : shadow variable in member function gets the wrong varid) 2011-10-29 Daniel Marjamäki * test/testbufferoverrun.cpp: astyle formatting 2011-10-29 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3221 (FP: Array 'arr[2147483648]' index 0 out of bounds in loop when size unknown to cppcheck) 2011-10-29 Daniel Marjamäki * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed #3195 (operator() from a functor-struct is never used) 2011-10-29 Thomas Jarosch * cli/filelister.cpp, cli/filelister.h: FileLister (linux): Refactor code to keep only one list of seen directory entries The list contains filenames and directories now and is only used for duplicate detection. 2011-10-29 Daniel Marjamäki * lib/tokenize.cpp: astyle formatting 2011-10-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3152 (Tokenizer: template constructor is removed) 2011-10-29 Thomas Jarosch * cli/filelister.cpp, cli/filelister.h: FileLister (linux): Handle cyclic symbolic links Keep a list of already seen directories. The "udev" project f.e. has a directory with a subdirectory that contains a symbolic link back to the parent directory. 2011-10-29 Thomas Jarosch * cli/filelister.cpp, cli/filelister.h, test/testfilelister.cpp: FileLister (linux): Move absolute path determination to own function Cleans up the #ifdef hell in the code. Provide unit test for it. 2011-10-29 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3245 (False positive: Dangerous usage of 'string' (strncpy doesn't always 0-terminate it)) 2011-10-28 Richard Quirk * lib/check.h, lib/checkbufferoverrun.cpp, lib/checknullpointer.cpp, lib/checkuninitvar.cpp, lib/preprocessor.cpp, lib/token.h: Ensure single-argument constructors are explicit 2011-10-28 Richard Quirk * lib/checkclass.cpp, lib/checkclass.h, test/testconstructors.cpp: Add checks for explicit constructors Single-argument constructors should be explicit. Constructors with multiple arguments should not be marked explicit. 2011-10-29 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Make sure that friend classes don't get varid. Ticket: #2962 2011-10-28 Richard Quirk * test/testclass.cpp, test/testconstructors.cpp: Make single-argument test constructors explicit 2011-10-29 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: Added inconclusive error message when calling member function of NULL object. 2011-10-29 Daniel Marjamäki * lib/checkother.cpp: use reportInconclusiveError instead of reportError if checking is inconclusive 2011-10-29 Reijo Tomperi * lib/checknullpointer.cpp: Fix related to previously fixed #3256 (Null pointer dereference not detected) Use reportInconclusiveError() instead of reportError(). 2011-10-29 Daniel Marjamäki * lib/checkinternal.cpp: astyle formatting 2011-10-29 Daniel Marjamäki * lib/checkother.cpp: updated comment. removed a inconclusive condition, I don't think it's needed. 2011-10-29 Thomas Jarosch * lib/checkinternal.cpp, lib/settings.cpp, test/testcmdlineparser.cpp, test/testinternal.cpp: Disable internal checks if NDEBUG is defined (release build) 2011-10-29 Daniel Marjamäki * lib/checkother.cpp: strncmp sizeof: tweaked the check. 2011-10-29 Thomas Jarosch * lib/checkinternal.cpp, lib/checkinternal.h, test/testinternal.cpp: Add internal check that searches Token::Match() patterns for missing % end charaters Example: "%type" or "foo %var bar" 2011-10-29 Daniel Marjamäki * test/testother.cpp: fix unit test failure 2011-10-29 Daniel Marjamäki * : Merge pull request #50 from richq/strncmp Improved strncmp checks * strings are always the same * inconclusive: using sizeof(char *) as size parameter 2011-10-29 Richard Quirk * lib/checkother.cpp: Only run sizeof(char*) check if inconclusive is set 2011-10-29 Richard Quirk * lib/checkother.cpp: Move string comparison out of the report function 2011-10-29 Reijo Tomperi * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fix #3256 (Null pointer dereference not detected) http://sourceforge.net/apps/trac/cppcheck/ticket/3256 It is now detected if --inconclusive command line argument is given (the argument is unofficial currently) 2011-10-29 Marek ZmysÅ‚owski * lib/checkstl.cpp, test/teststl.cpp: Fixed #3261 (Function 'find' useless call. The variable 'str' is using function 'find' against itself) 2011-10-29 Edoardo Prezioso * lib/tokenize.cpp: Tokenizer time improvements (time says real: -1 second) 1)change tokAt(1|-1) with next()|previous() with conditions where necessary; 2)change strAt(1|-1) with next()|previous()->str() with conditions where necessary; 3)change tokAt(n)->str(), with n != -1,1, to strat(n); 4)change simplifyFuncInWhile implementation because it was too slow and stupid. 2011-10-29 Edoardo Prezioso * lib/checkother.cpp, lib/tokenize.cpp: Definitely check correctly 'sizeof %num%' when '%num%' has '-' sign. 2011-10-28 Thomas Jarosch * lib/checkunusedvar.cpp: Fix logic glitch Reported by Pc-Lint 9.x :o) The code was working before as the AND operation also matched in that specific case. I verified that code is in use by commenting it out and checked how many tests failed. 2011-10-28 Thomas Jarosch * .gitignore: Update .gitignore * KDE text editor backup files * stuff from broken patches * kdevelop 4.x files 2011-10-28 Thomas Jarosch * Makefile, lib/checkinternal.cpp, lib/checkinternal.h, lib/lib.pri, lib/settings.cpp, test/testcmdlineparser.cpp, test/testinternal.cpp: Add check for cppcheck's internal API usage (#3263) First checks: - Simple pattern used inside Token::Match() - Complex pattern used inside Token::simpleMatch() The checks get enabled by passing "--enable=internal". It's not included in "--enable=all". If you see something that needs further tweaking, just go for it! 2011-10-28 Thomas Jarosch * test/testnullpointer.cpp: Run astyle 2011-10-28 Thomas Jarosch * gui/test/data/benchmark/simple.cpp, test/testmemleak.cpp, test/testtoken.cpp: Use Token::simpleMatch() / Token::findsimplematch() where possible 2011-10-28 Richard Quirk * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Warn when sizeof is used in strncmp ticket #2095 This checks for the case where the user thought sizeof(buf) gave the size in bytes of 'buf' in code like the following: const char *buf = "Hello World"; strncmp(buf, other, sizeof(buf)); 2011-10-28 Richard Quirk * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Add check for comparison of identical string variables 2011-10-28 Richard Quirk * lib/checkother.cpp, test/testother.cpp: Add strncmp to the list of static string comparison functions 2011-10-28 Ville Skyttä * Makefile, tools/dmake.cpp: Makefile: Use pcre-config to get include/lib paths etc 2011-10-28 Edoardo Prezioso * lib/token.cpp: Improve nextArgument by returning 0 if there's an unexpected ';'. 2011-10-28 Thomas Jarosch * lib/tokenize.cpp: Use new findsimplematch API for simple patterns 2011-10-28 Edoardo Prezioso * lib/tokenize.cpp: Complete todo: convert 'for' into 'while'. It's not possible to enable this code because of the disaster it will be created for all the checks with the 'for' pattern. 2011-10-27 Ettl Martin * test/testnullpointer.cpp: added unittest for ticket #1780 2011-10-27 PKEuS * test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixes false positives in test suite, adds unit test for void-simplification 2011-10-27 PKEuS * lib/tokenize.cpp: Tokenizer: Simplify 'foo(void)' to 'foo()' 2011-10-27 PKEuS * lib/tokenize.h: Improved isJavaOrCSharp, isC and isCPP. Fixed isC for files with includes. 2011-10-27 Thomas Jarosch * lib/tokenize.cpp: Bugfix: Use Token::Match instead of Token::simpleMatch because it's a complex pattern This bug was in here before my recent refactoring. (And yes, I wrote a check for cppcheck's Token::Match invocation ;)) 2011-10-27 Thomas Jarosch * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/executionpath.cpp, lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: Implement Token::findsimplematch und use it for simple patterns 2011-10-27 Thomas Jarosch * lib/checkautovariables.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/checkunusedvar.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Use Token::simpleMatch instead of Token::Match for simple patterns 2011-10-27 Daniel Marjamaki * lib/checkassignif.h, lib/checkother.h: minor formatting updates of --doc output 2011-10-27 Edoardo Prezioso * lib/tokenize.cpp: Added code for simplification of 'for ( a; b; c;); -> '{ a; for (; b; c;) ; }'. It's not enabled because it fails many tests with testrunner. 2011-10-27 Edoardo Prezioso * lib/tokenize.cpp: Move the simplification of 'strlen' in simplifyTokenList. This way it's possible to omit the call to simplifyKnownVariables before 'strlen'. 2011-10-26 seb777 * lib/tokenize.h: fix isC method (.C files are C code files) 2011-10-26 Thomas Jarosch * lib/checkstl.cpp, test/teststl.cpp: STL check: Detect return of implict string conversion + .c_str() Examples are: std::string msg; return ("ERROR: " + msg).c_str(); or return ("ERROR: " + std::string("crash me")).c_str(); 2011-10-26 Thomas Jarosch * lib/checkstl.cpp, test/teststl.cpp: STL check: Check if someone tries to return std::string(crash_me).c_str() 2011-10-26 Thomas Jarosch * lib/tokenize.h: Run astyle 2011-10-26 Thomas Jarosch * lib/checkstl.cpp, test/teststl.cpp: STL check: Look for string.c_str() / stringstream.str().c_str() "return" usage (object is destroyed on return) 2011-10-26 seb777 * lib/checkother.cpp, lib/tokenize.h: Fixed Ticket 2144 (false negatives: Old Style Pointer Cast apply only on .cpp files) 2011-10-25 seb777 * : commit 1a6706005f204c3ccf62651a3671b772d0037e32 Author: seb777 Date: Tue Oct 25 22:38:23 2011 +0200 2011-10-25 Daniel Marjamäki * : Merge pull request #46 from rpavlik/patch-1 Use forward slashes in resource file to support cross-building. 2011-10-25 Daniel Marjamaki * lib/preprocessor.cpp: Preprocessor: Report missing includes during 'normal' preprocessing. Ticket: #2131 2011-10-24 Daniel Marjamäki * : Merge pull request #47 from rpavlik/patch-2 Remove 'help' from qmake profile 2011-10-24 Marek ZmysÅ‚owski * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Fixed #3174 (New check: Useless calls of STL functions) 2011-10-24 Daniel Marjamäki * : commit d3ede39d24c7986dc42a32edfa53209eb5d91022 Author: Ryan Pavlik Date: Mon Oct 24 15:41:21 2011 -0500 2011-10-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp: astyle formatting 2011-10-24 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: updated tests 2011-10-24 Thomas Jarosch * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Refactor readlink() buffer check to also handle readlinkat() 2011-10-24 Daniel Marjamaki * lib/preprocessor.cpp: Preprocessor: Make it possible to use the 'normal' preprocessor by using special command -DCPPCHECK-TEST. Ticket: #2131 2011-10-24 Daniel Marjamaki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: handle '#undef' better. Ticket: #2131 2011-10-24 Daniel Marjamaki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Improved 'normal' preprocessing. better handling of multiple #elif and #else blocks 2011-10-24 Daniel Marjamaki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Better 'normal' preprocessing. Simple handling of '#elif' 2011-10-24 Daniel Marjamäki * webreport.sh: webreport: updated scp command 2011-10-24 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: disabled -Wunreachable-code because there was too many warnings 2011-10-24 Edoardo Prezioso * Makefile, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, tools/dmake.cpp: Add new warning option to check for dead code and change the order of some struct members to reduce structure padding. 2011-10-24 Reijo Tomperi * test/testnullpointer.cpp: Improve null pointer dereference test coverage 2011-10-23 Thomas Jarosch * lib/token.h: Clarify Token::concatStr() documentation 2011-10-23 Reijo Tomperi * cppcheck.cbp: Update codeblocks project file 2011-10-23 Thomas Jarosch * lib/token.h, test/testtoken.cpp: Document and test Token::concatStr() 2011-10-23 Thomas Jarosch * lib/token.cpp, lib/token.h, test/testtoken.cpp: Bugfix: Update token properties on string changes 2011-10-23 Daniel Marjamäki * webreport.sh: webreport: minor updates 2011-10-23 Daniel Marjamaki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: updates to 'normal' preprocessing 2011-10-23 PKEuS * lib/checkbufferoverrun.cpp: Make checkSprintfCall using nextArguments() 2011-10-23 Daniel Marjamäki * test/test.pro: test/test.pro: indentation update 2011-10-23 Daniel Marjamaki * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck_vs2010.sln, test/test.pro, test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Visual Studio: auto generated new visual studio project files 2011-10-23 PKEuS * lib/checknullpointer.cpp: Bugfix: checknullpointer worked incorrect for complex first 2011-10-23 Thomas Jarosch * Makefile, lib/checkboost.cpp, lib/checkboost.h, lib/lib.pri, lib/preprocessor.cpp, lib/tokenize.cpp, test/testboost.cpp: Fixed #3232 (Check if container is modified inside BOOST_FOREACH) 2011-10-23 Daniel Marjamäki * : Merge pull request #44 from makulik/master #3244 'Get include pathes from file' 2011-10-23 Thomas Jarosch * test/testother.cpp: Fixed #3187 (Remove code duplication in 'other' unit test) 2011-10-23 PKEuS * lib/checknullpointer.cpp, lib/token.cpp, lib/token.h, test/testtoken.cpp: Added Token::nextArgument() 2011-10-23 makulik * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Signed-off-by: Günther Makulik 2011-10-23 unknown * cli/cmdlineparser.cpp, man/cppcheck.1.xml: Signed-off-by: Günther Makulik 2011-10-23 Erik Lax * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3237 (Bug in parser of class operator functions) 2011-10-23 Daniel Marjamäki * test/testcmdlineparser.cpp: Test: Fixed testing 2011-10-23 Daniel Marjamäki * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: astyle formatting 2011-10-23 Daniel Marjamäki * : Merge pull request #43 from makulik/master #3244 'Get include pathes from file' 2011-10-22 Reijo Tomperi * lib/checkstl.cpp: Added support for C++11's cend/crend/cbegin/crbegin functions in some STL checks Patch from: PKEuS 2011-10-22 Reijo Tomperi * lib/checkother.cpp, test/testother.cpp: Improved memset with 0 bytes check. TODO done (unit test). Patch from: PKEuS 2011-10-22 unknown * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: #3244 'Get include pathes from file' Signed-off-by: Günther Makulik 2011-10-22 Edoardo Prezioso * lib/checkother.cpp, test/testother.cpp: Improve fix of #934 (be careful of macros code). 2011-10-22 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #934 (new check: missuse of std::cout) 2011-10-22 Tim Gerundt * htdocs/index.php: Web: Update download to version 1.51 2011-10-22 Edoardo Prezioso * Makefile, lib/executionpath.h, lib/symboldatabase.cpp, tools/dmake.cpp: Add more warnings and fix the ones reported by them. 2011-10-22 Johan Samuelson * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #3123 ([False Positive] Shadowed enum) 2011-10-22 Edoardo Prezioso * Makefile: Run tools/dmake. 2011-10-22 Daniel Marjamäki * lib/tokenize.cpp: made 'variableHidingTypedef' inconclusive. See ticket #3199 2011-10-22 Erik Lax * lib/checkobsoletefunctions.cpp, test/testobsoletefunctions.cpp: Fixed #3238 (Crash in obsolete functions check.) 2011-10-22 PKEuS * lib/checknonreentrantfunctions.cpp, lib/checkother.cpp: checkMathFunctions: Refactoring the check 2011-10-22 Thomas Jarosch * lib/checknonreentrantfunctions.cpp, lib/checknonreentrantfunctions.h, test/testnonreentrantfunctions.cpp: Fix #3243 (Improve non reentrant function check) - Use std::map instead of linear std::list walk and run fast tests like tok->isName() first. Global speed up is 4.8% (profiled with google-perftools) - Catch function invocations in global namespace and ignore other namespaces except "std". std::localtime() and others are also non-thread safe on POSIX. Note: The check matches f.e. also on "std::getrpcbyname()", but that would result in a compile error anyway. No need to have an extra "std::xxxxx" whitelist. - Remove double listed "rand" and "getrpcbyname" function names 2011-10-22 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/settings.h, test/testcmdlineparser.cpp: astyle formatting 2011-10-22 Marek ZmysÅ‚owski * lib/standards.h: Fixed #3204 (Refactor standards support in Settings) 2011-10-22 Daniel Marjamäki * : Merge pull request #41 from gansb/master std::istream used but not declared. 2011-10-22 Marek ZmysÅ‚owski * cli/cmdlineparser.cpp, lib/checkbufferoverrun.cpp, lib/checknonreentrantfunctions.cpp, lib/checkobsoletefunctions.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testcmdlineparser.cpp, test/testnonreentrantfunctions.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp: Fixed #3204 (Refactor standards support in Settings) 2011-10-20 Edoardo Prezioso * test/testother.cpp: Nitpicky fix of the missing ';' after the memset command inside the test case. 2011-10-20 Benjamin Goose * lib/symboldatabase.cpp: Qualify fill_n properly. Relying on ADL isn't a good idea as it's not always well implemented. 2011-10-20 Benjamin Goose * lib/path.cpp: Add condition for HP-UX. 2011-10-20 Benjamin Goose * lib/tokenize.h: Include for std::istream. 2011-10-19 seb777 * lib/checkobsoletefunctions.cpp, test/testobsoletefunctions.cpp: Fixed ticket #3133 (Improve Check: Found obsolete function) - add check for std::gets - improve check when multiple obsolete functions are used - remove false positive (declared functions) 2011-10-19 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improve tokenizer: don't confuse between a label and the case/default statements. 2011-10-19 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improve tokenizing of "do{ ... } while(0)". The simplification will be the same for every combination, except for the 'continue' and the 'break'. In that case, keep the block braces. 2011-10-19 Edoardo Prezioso * lib/pcrerules.pri: Complete 'disable the rules by default' for other platforms. 2011-10-19 Edoardo Prezioso * lib/tokenize.cpp: Runastyle + removal of useless conditions after previous commit. 2011-10-19 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3227 (Improve tokenizer: labels are not handled correctly after a case or another label instruction) Moved the labels simplification after combining the tokens and moved the case/default simplification inside the labels. 2011-10-05 Joshua Beck * cli/cmdlineparser.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, man/cppcheck.1.xml, test/testcmdlineparser.cpp: Add option to set #ifdef configuration check limit 2011-10-18 Edoardo Prezioso * lib/mathlib.cpp, lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3229 (Segfault with goto): Don't handle labels, gotos, returns and indentations inside the round braces. This is applied not only for simplifyGoto, but also to simplifyFlowControl. Rewrite enum badly handled by astyle inside mathlib.cpp and move simplifyFlowControl at the end of the simplifyTokenList in order to catch more dead code, not related to the ticket. 2011-10-18 PKEuS * lib/checkstl.cpp, test/teststl.cpp: Fixed #3223 (Improve check: Check more STL algorithms for missmatching containers check) 2011-10-18 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #3225 (Boolean comparison with string literals) 2011-10-18 Daniel Marjamäki * lib/check.h, lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3220 (False positive: possible null pointer dereference: 'SwDoc *pDoc = NULL; pDoc->do_something();') 2011-10-17 Daniel Marjamäki * lib/preprocessor.cpp: gcc: fixed compiler warnings/errors 2011-10-17 Daniel Marjamäki * Makefile, tools/dmake.cpp: Makefile: Disable rules by default 2011-10-17 Daniel Marjamaki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Started working on new preprocessing that uses -D information better. Ticket: #2131 2011-10-17 Edoardo Prezioso * lib/tokenize.cpp: Remove redundant function findmatch inside tokenize.cpp. There's Token::findmatch which is already used inside other Tokenizer functions. 2011-10-17 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: - Fixed mispelled function name; changed variable name inside simplifyFlowControl for consistency; improved simplifyFlowControl to handle better this kind of code: "return; { { } { label : ; ok ( ) ; } }"->"return ; { { label: ok ( ) ; } }". 2011-10-16 Edoardo Prezioso * test/testmemleak.cpp: Removed redundant test, which was related to the Tokenizer, not to the memory leak checker. 2011-10-16 Daniel Marjamäki * gui/filelist.h, gui/translationhandler.h, lib/symboldatabase.h: fixed a few doxygen warnings 2011-10-16 Daniel Marjamäki * cli/cmdlineparser.cpp: cli: updated help text for --std option 2011-10-16 Ettl Martin * lib/tokenize.cpp: fixed regression on linux due to missing include 2011-10-16 PKEuS * cli/cmdlineparser.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testcmdlineparser.cpp, test/testnullpointer.cpp: Fixed #2470 (False negative: Possible null pointer dereference (C++0x keyword 'nullptr')) 2011-10-16 Daniel Marjamäki * lib/token.h: Token: Updated comments 2011-10-16 Thomas Jarosch * lib/checkother.cpp, lib/checkother.h, lib/tokenize.cpp, lib/tokenize.h, test/testbufferoverrun.cpp, test/testtokenize.cpp: Fix #3208 (Simplify pointer to standard type, C only) The symbol database is unavailable during token simplification and &data[0] might return something completely different for C++. Moved code_is_c() from checkOther to Tokenizer. 2011-10-16 Daniel Marjamäki * cli/filelister.cpp, cli/pathmatch.cpp, lib/preprocessor.cpp, lib/symboldatabase.cpp: Borland: Fixed compiler errors 2011-10-16 Daniel Marjamäki * lib/checknullpointer.cpp: astyle formatting 2011-10-16 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed ##3211 (Crash in gitHEAD when arglist count is smaller than format string) 2011-10-15 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h: Changed the name of the removal of dead code after flow control statements for consistency (simplifyDeadCode is too generalized as name) 2011-10-15 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3138 (Tokenizer: remove unreachable code below goto inside a namespace|class|struct block) 2011-10-15 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed ticket #3113 (complete simplification of dead code after control flow statements) 2011-10-14 Thomas Jarosch * lib/checkstl.cpp, test/teststl.cpp: Fixed #3210 (STL check: Add support for reverse iterator) 2011-10-14 Thomas Jarosch * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #3198 (Add check for readlink()) 2011-10-13 Daniel Marjamäki * : Merge pull request #39 from neuschaefer/codespell.v2 codespell v2 2011-10-13 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/filelister.cpp, cli/filelister.h, cli/pathmatch.cpp, cli/pathmatch.h, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/application.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkstatistics.cpp, gui/checkstatistics.h, gui/checkthread.cpp, gui/checkthread.h, gui/csvreport.cpp, gui/csvreport.h, gui/erroritem.cpp, gui/erroritem.h, gui/filelist.cpp, gui/filelist.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/logview.cpp, gui/logview.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/platforms.cpp, gui/platforms.h, gui/project.cpp, gui/project.h, gui/projectfile.cpp, gui/projectfile.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h, gui/report.cpp, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/showtypes.cpp, gui/showtypes.h, gui/statsdialog.cpp, gui/statsdialog.h, gui/test/benchmark/simple/benchmarksimple.cpp, gui/test/benchmark/simple/benchmarksimple.h, gui/test/data/benchmark/simple.cpp, gui/test/filelist/testfilelist.h, gui/test/projectfile/testprojectfile.h, gui/test/translationhandler/testtranslationhandler.h, gui/test/xmlreport/testxmlreport.h, gui/test/xmlreportv1/testxmlreportv1.h, gui/test/xmlreportv2/testxmlreportv2.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, gui/translationhandler.cpp, gui/translationhandler.h, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h, gui/xmlreportv1.cpp, gui/xmlreportv1.h, gui/xmlreportv2.cpp, gui/xmlreportv2.h, lib/check.h, lib/check64bit.cpp, lib/check64bit.h, lib/checkassignif.cpp, lib/checkassignif.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checknonreentrantfunctions.cpp, lib/checknonreentrantfunctions.h, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/checkother.cpp, lib/checkother.h, lib/checkpostfixoperator.cpp, lib/checkpostfixoperator.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkuninitvar.cpp, lib/checkuninitvar.h, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/mathlib.cpp, lib/mathlib.h, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h, lib/suppressions.cpp, lib/suppressions.h, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/timer.cpp, lib/timer.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, runastyle, runastyle.bat, test/options.cpp, test/options.h, test/redirect.h, test/test64bit.cpp, test/testassignif.cpp, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testcmdlineparser.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdivision.cpp, test/testerrorlogger.cpp, test/testexceptionsafety.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testnonreentrantfunctions.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp, test/testoptions.cpp, test/testother.cpp, test/testpath.cpp, test/testpathmatch.cpp, test/testpostfixoperator.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testsuppressions.cpp, test/testsymboldatabase.cpp, test/testthreadexecutor.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testuninitvar.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, test/testutils.h, tools/dmake.cpp, tools/extracttests.cpp: changed the astyle formatting flags 2011-10-13 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket 3140 and 3137 (Improve Tokenizer: Remove dead for loop - simplify while(0) better. Note: it doesn't remove dead code if there's a label inside. Will be improved in another ticket. 2011-10-13 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Remove redundant simplifyDeadCode call inside the Tokenizer::tokenize and move the relative tests in the file 'testsimplifytokens.cpp'. 2011-10-13 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2627 (switch case fall through: redundant strcpy) 2011-10-12 PKEuS * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3180 (New check: Detect nullpointers given to printf via variable argument list) 2011-10-12 Daniel Marjamäki * lib/checkbufferoverrun.cpp: astyle formatting 2011-10-12 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv2/testxmlreportv2.cpp, gui/threadresult.cpp, gui/xmlreportv1.cpp, gui/xmlreportv2.cpp: GUI: Rename ErrorItem::id to ErrorItem::errorId. 2011-10-12 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3163 (Out of bounds pointer arithmetic not reset) 2011-10-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::removeMacrosInGlobalScope: Don't remove C/C++ keywords namespace/struct/etc. Ticket: #3193 2011-10-12 Daniel Marjamäki * lib/check64bit.cpp, test/test64bit.cpp: Fixed #3150 (Invalid warning when pointer difference is not adjacent) 2011-10-12 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #3194 (Parsing glitch causes false 'can be const' error for an 'if' statement) 2011-10-12 Robert Reif * lib/checkother.cpp: run astyle 2011-10-11 Marek ZmysÅ‚owski * lib/checkmemoryleak.cpp, test/testmemleak.cpp: improved realloc checking '*p = realloc(*p,..'. Ticket: #1791 2011-10-11 Kimmo Varis * gui/checkstatistics.cpp, gui/checkstatistics.h, gui/common.h, gui/gui.pro, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/showtypes.cpp, gui/showtypes.h, gui/statsdialog.cpp: GUI: Move ShowTypes enum to own class and file. We are using ShowTypes around the GUI codebase so it makes sense to have it in its own class. And the class also contains related helper functions instead of scattering them around different classes. ShowTypes also contains the visibility settings for all the GUI severities. Implementation in this commit makes ShowTypes class to load the visibility settings when it is created. And save the settings when it is destroyed. 2011-10-11 Thomas Jarosch * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: [PATCH] Detect suspicious use of semicolon after 'if/for/while' statements if they are followed by a {..} block. Examples are: for (int i = 0; i < 10; ++i); { printf("i)"; } or if (i == 100); { die("Wrong argument"); } This new check is active if you enable inconclusive checks. 2011-10-10 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2955 (New check: Using && instead of &) 2011-10-10 Edoardo Prezioso * lib/tokenize.cpp: Fixed some simple errors in some old commits. 2011-10-10 Edoardo Prezioso * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #3140 (Improve Tokenizer: Remove dead for loop 'for (int i = 0; i < 0; ++i)') 2011-10-09 PKEuS * lib/checkother.cpp, test/testother.cpp: Fixed #2115 (new check: endless loop (unsigned comparison that is always true)) 2011-10-09 Reijo Tomperi * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h: Fix compiling on VC++ after previous commit 2011-10-09 Reijo Tomperi * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h: Filter out duplicate error messages in cli. 2011-10-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3183 (False positive: (error) syntax error) 2011-10-09 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checknullpointer.h, test/testnullpointer.cpp: Null pointer: improved inconclusive checking in CheckNullPointer::nullPointerAfterLoop 2011-10-09 seb777 * lib/checkobsoletefunctions.cpp, test/testobsoletefunctions.cpp: Fixed 3133 (Improve Check: Found obsolete function) - add check for std::gets - improve check when multiple obsolete functions are used - remove false positive (declared functions) 2011-10-08 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: More fixes to the label simplifier (related to ticket 3176): 1)Simplify the labels if there are combinations of the symbols '*','&','{' and '(' after a '%var% :' and before another '%var%'; 2)but do not simplify the label if it's inside an unpreprocessed macro code. 2011-10-08 Daniel Marjamäki * man/manual.docbook: manual: removed appendix. That info are available in separate articles. 2011-10-08 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: fixed false negatives when there are '(p && ..' 2011-10-08 Thomas Jarosch * test/testother.cpp, test/testthreadexecutor.cpp: Fixed #3181 (Add missing return statements) 2011-10-08 Stefan Weil * lib/settings.cpp: Settings: add missing initialisation for member variable c99 (reported by Valgrind) 2011-10-08 Daniel Marjamäki * createrelease: createrelease: added info about how scp is used to upload files to release system 2011-10-08 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2011-10-08 Daniel Marjamäki * Makefile: 1.51: Updated Makefile for release 2011-10-08 Daniel Marjamäki * Changelog: 1.51: Updated Changelog 2011-10-08 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.51: Updated versions 2011-10-08 Daniel Marjamäki * lib/checknullpointer.cpp: Added todo comments to fix false negatives caused by my fix for #3128 2011-10-07 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3128 (False positive: null pointer dereference check does not handle complex boolean logic properly) 2011-10-07 Daniel Marjamäki * man/manual.docbook: Fixed #3115 (note windows limitation to threading in the manual) 2011-10-07 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-10-07 Robert Reif * lib/symboldatabase.cpp, lib/tokenize.cpp: fix tokenizer and symbol database to not mistake goto statement for variable declaration 2011-10-06 Robert Reif * lib/tokenize.h: run astyle 2011-10-07 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3176 (cppcheck reports wrong unused variable) Label simplification didn't take count of the '(' parenthesis or the '&' and '*' operators inside or outside the parenthesis after the colon. 2011-10-06 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Renamed the function 'removeRedundantCodeAfterReturn' with 'simplifyDeadCode'. This is a preparation in order to add new features to this function (see the @todo in the tokenize header file, ticket #3113 and #3175 for details). 2011-10-06 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Readded CheckOther::bitwiseOnBoolean as inconclusive check 2011-10-06 Marek ZmysÅ‚owski * cli/cmdlineparser.cpp, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/settings.h, test/testcmdlineparser.cpp, test/testobsoletefunctions.cpp: Fixed #3072 (improve check: deprecated function alloca) 2011-10-05 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Removed CheckOther::bitwiseOnBoolean check. The reasons can be seen in my comments in ticket #3062. 2011-10-05 PKEuS * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1877 (Be more strict about int vs. bool, part II) 2011-10-05 Thomas Jarosch * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #3161 (Show buffers size info for snprintf() buffer overruns) 2011-10-05 Edoardo Prezioso * : commit 3cfe7ca1a7176690174ed6fccb0d929d68eceef1 Author: Kimmo Varis Date: Wed Oct 5 20:44:00 2011 +0300 2011-10-05 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #3148 (Analysis failed on "Modules/mathmodule.c") Fix: Do not handle code when 'return' is inside a macro. This is valid also for 'switch' code inside a macro. 2011-10-05 Kimmo Varis * gui/platforms.cpp: GUI: Rename default platform to "Build-in". "default" as platform name/definition doesn't tell much and would only confuse users. "Build-in" is not perfect either but it is best I've can come with before the release. Ticket: #3156 (GUI: "default" platform needs proper name) 2011-10-05 Kimmo Varis * gui/mainwindow.cpp: GUI: Fix enabling/disabling visibilities of errors When GUI was started not all the categories visibility statuses were not preserved. I.e. Ticket: #3087 (GUI does not show all reported files until a filter button state is changed) 2011-10-04 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2011-10-04 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3146 "Analysis failed" error on softmagic.c: -Fixed: the code didn't check the rightness of the switch syntax if it was inside another switch; -Tweaked: removed the two bool variables, so now the conditions take count of indentation unsigned variables. 2011-10-03 Edoardo Prezioso * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3132 (Analysis failed. If the code is valid then please report this failure.) 2011-10-03 Kimmo Varis * gui/platforms.cpp: GUI: Fix endless loop in previous commit. The iterator was not advanced in the loop. So the code worked when I ran it in Linux as the first item was matching. Thanks for Robert for spotting and reporting it. 2011-10-02 Kimmo Varis * gui/mainwindow.cpp: GUI: In Windows platforms default to Win32 ANSI. When running in Windows platforms, set the GUI's checked platform initially to Windows 32-bit ANSI. Other platforms are set initially to default/unspecified which means the type sizes are from the platform GUI was compiled on. This was suggested by Rober in ticket #3119. 2011-10-02 Kimmo Varis * gui/gui.pro, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/platforms.cpp, gui/platforms.h: GUI: Make platforms in GUI more dynamic. We have now one list for checked platforms, menu items are created dynamically based on that list. This makes it much easier to alter the platforms list later on. 2011-10-02 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3159 (Uninitialized variable false positive) 2011-10-02 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3125 (FP: Possible null pointer dereference in conditional operator) 2011-10-02 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3126 (false positive: Null pointer dereference) 2011-10-02 Kimmo Varis * cli/cppcheckexecutor.cpp: CLI: case-insensitive ignorepath matching in Windows. 2011-10-02 Kimmo Varis * cli/pathmatch.cpp, cli/pathmatch.h, test/testpathmatch.cpp: CLI: Add support for ignoring case in PathMatch. In Windows (or in Windows code?) we want to ignore case in the paths. This patch implements the case ignore for the PathMatch- class. 2011-10-01 Stefan Weil * htdocs/site/simplepie/simplepie.inc: htdocs: fix typo in error messages and php code (writeable -> writable) 2011-09-30 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix #3153 (false positive buffer access out-of-bounds) 2011-09-30 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: another variation of false negative from #3149 2011-09-30 Stefan Weil * lib/settings.cpp: test _WIN64 before _WIN32 (64-bit compiler defines both macros) 2011-09-30 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: really fix #3149 (false negative: Technically the member function 'A::f' can be const.) 2011-09-30 Kimmo Varis * test/testcmdlineparser.cpp: Disable fileListStdin test from testcmdlineparser. That test hangs the test run. 2011-09-29 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #3149 (false negative: Technically the member function 'A::f' can be const.) 2011-09-29 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3151 (missing portability warning for extra qualifier on destructor) 2011-09-29 Robert Reif * test/testcmdlineparser.cpp: run astyle 2011-09-29 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add menu-selection for the checked platform. This is quick and dirty patch to add the platform selection for the GUI. It is simple menu selection in Check-menu. It always defaults to "Default" at startup. And it forget the selection when the application is closed. Ticket: #3119 (GUI: add ability to specify platform type) 2011-09-29 Kimmo Varis * : Merge pull request #37 from joshbeck/master Added support for reading file lists from stdin, correctly this time 2011-09-28 Reijo Tomperi * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fix #2813 (False negative: Uninitialized variable not found for realloc) http://sourceforge.net/apps/trac/cppcheck/ticket/2813 Patch provided by: marekzmyslowski 2011-09-28 Robert Reif * lib/tokenize.cpp, lib/tokenize.h: refactor last commit to move unknown type output to seperate function 2011-09-27 Robert Reif * lib/tokenize.cpp: show unknown variable types when debug-messages flag is set 2011-09-27 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: fix #3008 (New check: Order of initialisation list) 2011-09-27 Joshua Beck * : Merge remote-tracking branch 'upstream/master' 2011-09-27 Joshua Beck * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Fix test and add info to -h output. 2011-09-26 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add support for Microsoft TCHAR character constants 2011-09-26 Joshua Beck * man/cppcheck.1.xml, test/testcmdlineparser.cpp: Updated manual and added test for reading file list from stdin. 2011-09-26 Robert Reif * lib/checkother.cpp, test/testother.cpp: reduce false negatives for checking for CheckOther::checkSignOfUnsignedVariable() 2011-09-26 Joshua Beck * cli/cmdlineparser.cpp: Added support for reading file lists from stdin 2011-09-26 Kimmo Varis * cppcheck.sln, cppcheck_vs2010.sln: Update VS solution files for test project name change. 2011-09-26 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-09-26 Kimmo Varis * gui/statsdialog.cpp: GUI: Make statistics dialog text translatable. Refactor the code formatting statistics dialog content so that the strings are easier to translate. Old formatting with embedded HTML was practically impossible for translators to translate. New code isn't very beautiful either but at least translating is now possible. Ticket: #2726 (GUI: HTML-formatted statistics report text hard to translate) 2011-09-25 Kimmo Varis * gui/project.cpp, gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Rename functions related to excluding. 2011-09-25 Kimmo Varis * gui/test/projectfile/testprojectfile.cpp: GUITESTS: Rename variable for consistency. 2011-09-25 Kimmo Varis * gui/test/data/benchmark/simple.cpp: GUITESTS: Remove include lines from test data. The included files aren't found anyway so the lines are useless and can add more variance (filesystem access) to the results. 2011-09-25 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add some Windows TCHAR scanf and printf conversions 2011-09-24 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: start adding Windows wide character support 2011-09-24 Robert Reif * cli/cmdlineparser.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: start adding Windows ASCII TCHAR conversion support 2011-09-24 seb777 * lib/checkobsoletefunctions.cpp, test/testobsoletefunctions.cpp: fix #3121 ([False Positive] Incorrect obsoleted functions) 2011-09-23 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: add operator support to ertra qualification check 2011-09-22 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix for loop false positives when zero length arrays present 2011-09-22 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: add Microsoft memory function conversions to standard cstring functions 2011-09-21 Robert Reif * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: fix #3127 ([False positive] _tmain function i VS 2010 project) 2011-09-21 Robert Reif * test/testuninitvar.cpp: fix typo in last commit 2011-09-21 Robert Reif * test/testuninitvar.cpp: add test case for false negatives introduced by fix for 3106 2011-09-20 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add some more windows type conversions 2011-09-20 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3106 (False positive: Uninitialized variable check has inconsistent behavior with ternary operator) 2011-09-20 Johan Samuelson * lib/token.cpp: Fixed #3118 (Tokenizer: str*cmp() in hot spot code) 2011-09-20 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: only simplify Microsoft MFC code when Windows platform is selected 2011-09-19 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add some common windows pointer type conversions to standard types 2011-09-19 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix #3124 (FP: Buffer access out-of-bounds when memset two dimension array (a[5][6])) 2011-09-19 Robert Reif * cli/cmdlineparser.cpp: fix width of platform help text 2011-09-18 Robert Reif * lib/settings.cpp: set windows platform type to type executable was compiled on 2011-09-18 Robert Reif * lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testtokenize.cpp: start adding conversions from common Windows types to standard types 2011-09-18 Robert Reif * lib/checkunusedfunctions.cpp: run astyle 2011-09-18 Daniel Marjamäki * : Merge pull request #35 from simartin/ticket_3059 Ticket 3059: Report the correct line number in unused functions warnings 2011-09-18 Robert Reif * lib/settings.cpp, test/testtokenize.cpp: fix sizeof long double for unix64 for #2888 (Allow defining sizes of base types) 2011-09-18 Kimmo Varis * gui/test/benchmark/simple/benchmarksimple.cpp, gui/test/benchmark/simple/benchmarksimple.h: GUITESTS: Add benchmark for tokenize + simplify. 2011-09-18 Simon Martin * lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, test/testunusedfunctions.cpp: Ticket 3059: Report the correct line number in unused functions warnings 2011-09-17 Robert Reif * cli/cmdlineparser.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testtokenize.cpp: fix #2888 (Allow defining sizes of base types) 2011-09-17 Kimmo Varis * : Merge pull request #34 from simartin/clang_build Make the build warning clean with clang++ 2011-09-17 Simon Martin * test/testcmdlineparser.cpp: Make the build warning clean with clang++ 2011-09-16 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix wrong information about constness of function 2011-09-16 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix a problem with Qt slots immediately followed by signals 2011-09-14 Robert Reif * lib/checkclass.cpp: better fix for #3114 (infinite recursion when operator= is overloaded) 2011-09-14 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: quick fix for #3114 (infinite recursion when operator= is overloaded) 2011-09-13 Kimmo Varis * test/testcmdlineparser.cpp: Tests: Add more commandlineparser tests. Add commandlineparser tests for giving two suppressions. Giving two suppressions in one parameter is not yet supported so it is todo-test. 2011-09-13 Edoardo Prezioso * lib/tokenize.cpp, lib/tokenize.h, test/testclass.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #3075 (False positive => Improve tokenizer: remove redundant code after a 'return' state) 2011-09-12 Robert Reif * test/testother.cpp: add test for #3110 (false positve: style) Boolean result is used in bitwise operation. Clarify expression with parentheses) 2011-09-12 seb777 * test/testtokenize.cpp: Remove invalid test case. The code does not compile. In addition, it's a "todo test case". 2011-09-12 Robert Reif * lib/checkother.cpp: fix #3110 (false positve: style) Boolean result is used in bitwise operation. Clarify expression with parentheses) 2011-09-11 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: partial fix for #2960 (false negative: buffer access out of bounds) 2011-09-11 Robert Reif * lib/checkbufferoverrun.cpp, lib/symboldatabase.cpp, test/testbufferoverrun.cpp: add multi-dimension array support to second checkScope and use it for member arrays 2011-09-11 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: use correct checkScope function in CheckBufferOverrun for single dimension member arrays 2011-09-11 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: refactor to unify functionally identical code in CheckBufferOverrun::checkScope() 2011-09-11 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: refactor CheckBufferOverrun to only use multi-dimension array error messages and remove single dimension array message 2011-09-11 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3086 (false positive: Boolean result is used in bitwise operation.) 2011-09-11 Daniel Marjamäki * lib/tokenize.cpp, test/testunusedvar.cpp: Fixed #3104 (unread despite modified and used in IF statement) 2011-09-11 Daniel Marjamäki * lib/checkunusedvar.cpp: unused var: use 'else if' instead of 'if' 2011-09-11 seb777 * lib/tokenize.cpp, test/testtokenize.cpp: Revert "The case statement requires constant-expression (C, C++, C# and Java." This reverts commit 5879fe419d72328d77ab9d6f717ffa81e4ab6e68. 2011-09-10 seb777 * lib/tokenize.cpp, test/testtokenize.cpp: The case statement requires constant-expression (C, C++, C# and Java. Needless to simplify the calculation of a piece of code that can not compile. 2011-09-10 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: refactor CheckBufferOverrun::checkScope to take an ArrayInfo parameter 2011-09-10 Robert Reif * : commit 547a79d4feac46b7d3ba04a091838669618a9b20 Author: Robert Reif Date: Sat Sep 10 10:14:32 2011 -0400 2011-09-10 Philipp Kloke * lib/checkother.cpp, test/testother.cpp: Fixed #1740 (Undefined Behavior: Divide by zero) 2011-09-10 seb777 * lib/tokenize.cpp, test/testtokenize.cpp: fix #3093 (Simplify code (math expression) with keywords 'return' and 'case') 2011-09-09 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: better detection of variable sized structure in CheckBufferOverrun::checkStructVariable() 2011-09-09 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix some CheckBufferOverrun::checkStructVariable() flase negatives for possible variable length structs 2011-09-09 Robert Reif * : commit 16924c7c7ad77a53b41e90f17cfe2ff75411f3f3 Author: Robert Reif Date: Fri Sep 9 07:16:39 2011 -0400 2011-09-09 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3096 (false negative: memory leak not found when passing string to strtok) 2011-09-08 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix one of the TODO testcases added for #3094 (Buffer access out-of-bounds in struct variable) 2011-09-08 Robert Reif * test/testbufferoverrun.cpp: add soem test cases for #3094 (Buffer access out-of-bounds in struct variable) 2011-09-08 Daniel Marjamäki * lib/checkmemoryleak.h, lib/path.h: fixed a few doxygen warnings 2011-09-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: updated comments 2011-09-06 seb777 * lib/checkother.cpp, test/testother.cpp: fix #195 Unusual shift operation - check this kind of code return x >> ! y ? 8 : 2; 2011-09-05 Robert Reif * lib/checkbufferoverrun.cpp: fix some -Wconversion -Wsign-conversion warnings in checkbufferoverrun.cpp 2011-09-05 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: warn when buffer is not zero terminated after memmove 2011-09-05 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: warn when buffer is not zero terminated after memcpy 2011-09-05 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: warn when buffer is not zero terminated after strncpy 2011-09-05 Daniel Marjamäki * lib/checknullpointer.cpp, test/testuninitvar.cpp: Uninitialized vars: handle printf a little better. Ticket: #3050 2011-09-05 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/checkuninitvar.h, test/testuninitvar.cpp: uninitstring: fix false negatives when non-zero memset is used. Ticket: #3050 2011-09-05 Robert Reif * lib/checkother.cpp: really fix #3079 (Spelling error in unsigned variable check 'never alwayw') 2011-09-05 Robert Reif * lib/checkother.cpp: fix #3079 (Spelling error in unsigned variable check 'never alwayw') 2011-09-04 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix #2528 (false negative: buffer access out of bounds) 2011-09-04 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix #2889 (false negative: buffer access out of bounds on local struct member) 2011-09-04 Daniel Marjamäki * lib/checkunusedvar.cpp, test/testunusedvar.cpp: Fixed #3078 (vector::at using int causes false positive) 2011-09-04 Kimmo Varis * test/testcmdlineparser.cpp: Tests: Add tests for new --enable flags. Adding tests for new --enable flafgs (performance, portability) to CommandLineParser tests. 2011-09-04 Kimmo Varis * gui/mainwindow.cpp: GUI: Enable performance- and portability checks. The CLI/LIB change earlier added own enable-flag for performance- and portability-checks. This commit updates GUI to also enable those new enable-flags. 2011-09-04 Robert Reif * test/testbufferoverrun.cpp: add some variable length array tests 2011-09-04 Daniel Marjamäki * lib/check64bit.cpp, test/test64bit.cpp: Fixed #3073 (False positive: Assigning an integer (int/long/etc) to a pointer is not portable) 2011-09-04 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3060 (False positive: Uninitialized variable: fresh) 2011-09-03 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: final fix for #3063 (false negative: multi dimensional arrays not well supported) 2011-09-03 seb777 * : commit 5c7ed46e0cb6ffeee17a9185d1ccaa9d9781b560 Author: seb777 Date: Sat Sep 3 23:10:16 2011 +0200 2011-09-03 seb777 * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Replace the keyword C99 _Bool the bool keyword in the process of tokenization See https://github.com/danmar/cppcheck/commit/f29b7f9f087779d789e8bdc24745930623f314ca 2011-09-03 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #3069 (False positive: Memory leak: data) 2011-09-03 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3065 (False positive: possible null pointer dereference: vi) 2011-09-03 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #3058 (False positive: Uninitialized variable: data) 2011-09-03 Robert Reif * lib/checkbufferoverrun.cpp, lib/symboldatabase.cpp: move member variable lookup code from a check to the symbol database so it can be reused by other checks 2011-09-03 Daniel Marjamäki * cli/cmdlineparser.cpp: CLI: --enable=style has always been the same as --enable=style,portability,performance so keep it that way. Ticket #3074 2011-09-03 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/check64bit.cpp, lib/checkbufferoverrun.cpp, lib/checknonreentrantfunctions.cpp, lib/checkother.cpp, lib/checkpostfixoperator.cpp, lib/checkstl.cpp, lib/settings.cpp, lib/tokenize.cpp, test/test64bit.cpp, test/testbufferoverrun.cpp, test/testnonreentrantfunctions.cpp, test/testother.cpp, test/testpostfixoperator.cpp, test/testsimplifytokens.cpp, test/teststl.cpp: enable: break out 'performance' and 'portability' from the 'style' id. Ticket: #3074 2011-09-03 Daniel Marjamäki * man/manual.docbook: manual: document the 'portability' severity. Ticket #3074 2011-09-02 Robert Reif * lib/checkbufferoverrun.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testbufferoverrun.cpp: another partial fix for #3063 (false negative: multi dimensional arrays not well supported) 2011-09-02 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: partial fix for #3063 (false negative: multi dimensional arrays not well supported) 2011-09-02 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #3062 (false negative: Boolean variable is used in bitwise operation) 2011-09-02 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix false positive introduced by previous false negative fix commit 2011-09-01 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix #3066 (False positive: Inconclusive: Assigning address of local auto-variable to a function parameter.) 2011-09-01 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix line number in messagex for CheckAutoVariables::autoVariables 2011-09-01 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3070 (Other: failed to parse a typedef string. Check continues anyway.) 2011-09-01 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix again #3064 (false negative: returning address of stack variable) 2011-09-01 Robert Reif * lib/checkautovariables.cpp: better error message for #3064 (false negative: returning address of stack variable) 2011-08-31 Robert Reif * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: fix #3064 (false negative: returning address of stack variable) 2011-08-31 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3058 (False positive: Uninitialized variable: data) 2011-08-31 Robert Reif * lib/checkunusedvar.cpp, test/testunusedvar.cpp: add new (nothrow) support to CheckUnusedVar::checkFunctionVariableUsage 2011-08-30 Robert Reif * lib/checkmemoryleak.cpp, test/testmemleak.cpp: add support for deallocating memory with realloc 2011-08-30 Daniel Marjamäki * htmlreport/cppcheck-htmlreport: Fixed #3057 (cppcheck-htmlreport fails since 1.50) 2011-08-30 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3058 (False positive: Uninitialized variable: data) 2011-08-29 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #3034 (Cppcheck crash on specific file (truecrypt).) 2011-08-28 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: really fix multi-dimensional arrays with undefined size 2011-08-28 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #3016 (Preprocessor has incorrect precedence(?) for &&) 2011-08-28 Robert Reif * lib/symboldatabase.cpp, test/testbufferoverrun.cpp: fix #3044 (Symbol database: handle multidim array with unknown dimension 'char a[][4]') 2011-08-28 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #3051 (False positive: operator= should return reference (when function takes pointer argument)) 2011-08-28 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #3052 (False Positive - Technically the member function 'Example::Clear' can be const.) 2011-08-28 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: better message for strncpy zero-terminated check 2011-08-28 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3039 (False Positive: Memory Leak 'p = pop(p);') 2011-08-27 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: refactor CheckBufferOverrun::checkScope strncpy check and change experimental to inconclusive 2011-08-26 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3038 (False Positive - memory leak (struct member passed to subfunction)) 2011-08-26 unknown * gui/mainwindow.cpp: GUI: Fix order of project/global include directories. Per project include directories must be added to the list before the global include directories. Include directories are searched in listed order. So placing per project include directories first we ensure per project include file is found instead of the global include file if same file exist in both. 2011-08-25 Robert Reif * lib/checkbufferoverrun.cpp: partial fix for #3050 (strncpy zero termination check behaving flaky) 2011-08-25 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #3043 (False Positive - Member variable 'ProgramRecPriorityInfo::profile' is not assigned a value in 'ProgramRecPriorityInfo::operator=') 2011-08-25 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add support for simplifying Qt emit in tokenizer 2011-08-25 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix #3049 (False Positive - Technically the member function 'VideoOutputNull::SetupDeinterlace' can be const.) 2011-08-25 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3038 (False Positive - memory leak) 2011-08-24 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Fix extra menu separator in File-menu. The extra menu separator was added before the MRU menu items. When updating the (menu) MRU items existing items were first removed and new items added back. But the added separator was not removed. 2011-08-24 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/project.cpp, gui/project.h: GUI: Check the project after creation. Earlier the GUI (project) went into some weird state after creating a new project. The project could not be checked in any discoverable way. This commit fixes the above bug by automatically checking the new project after the project dialog is closed. I think this is what most users expect to happen. 2011-08-24 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: make all functions that call reportError names in checkbufferoverrun end in Error for consisentcy 2011-08-24 Robert Reif * test/testbufferoverrun.cpp: better test for symbol database bug fixed in last commit 2011-08-23 Robert Reif * lib/symboldatabase.cpp, test/testother.cpp: fix a serious symbol database bug where parts of a function could be skipped 2011-08-23 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3041 (false positive reported for error with id='deallocuse') 2011-08-23 Kimmo Varis * gui/test/data/projectfiles/simple.cppcheck, gui/test/data/projectfiles/simple_ignore.cppcheck, gui/test/filelist/testfilelist.cpp, gui/test/projectfile/testprojectfile.cpp, gui/test/projectfile/testprojectfile.h: GUI: Update projectfile tests. 2011-08-23 Kimmo Varis * gui/projectfile.txt: GUI: Update project file documentation. 2011-08-23 Kimmo Varis * cppcheck.cppcheck, gui/filelist.cpp, gui/filelist.h, gui/mainwindow.cpp, gui/project.cpp, gui/projectfile.cpp, gui/projectfile.h, gui/projectfile.ui: GUI: Rename Ignore-feature to Exclude-feature. Exclude is the correct term to use when removing paths from the list of checked items. Ignore as a term was a poor choise to begin with. XML file reading still recognizes and reads the 'ignore' element but writes 'exclude' element. Ticket: #2995 (GUI: Rename ignore-feature to exclude-feature) 2011-08-22 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #3040 (False positive - Technically the member function 'PSIPTable::SetSection' can be const.) 2011-08-22 Robert Reif * gui/mainwindow.cpp: run astyle 2011-08-22 Kimmo Varis * gui/mainwindow.cpp: GUI: Make few strings const strings. 2011-08-22 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-08-22 Kimmo Varis * gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Allow reordering includes in project dialog. Since include dir order is important (Cppcheck uses the first file it finds) user must be able to edit the order of include paths. This commit adds "Up" and "Down" buttons to the Project-dialog's inlude paths-tab. User can use those two buttons to re-order the include directories. Ticket: #3037 (GUI: Allow reordering include paths in project dialog) 2011-08-22 Kimmo Varis * gui/projectfile.ui: GUI: Rename Project-label in Projects-dialog. The 'Project' label in Project-dialog is confusing and users think it is project's name. When it acutually is the root directory of the project. So rename the lable and move it below the 'Defines'- field to make it less important looking. Ticket: #2997 (GUI: 'Project'-field in project file-dialog is confusing) 2011-08-22 Kimmo Varis * lib/suppressions.h: Add doxygen grouping for the new file. 2011-08-22 Kimmo Varis * lib/suppressions.cpp: Compile fix. 2011-08-22 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Update VS2008/2010 project files. 2011-08-22 Kimmo Varis * Makefile, lib/errorlogger.cpp, lib/errorlogger.h, lib/lib.pri, lib/settings.cpp, lib/settings.h, lib/suppressions.cpp, lib/suppressions.h, test/test.pro, test/testsettings.cpp, test/testsuppressions.cpp: Move Suppressions class to own source files. I want to use Suppressions class also in GUI. And that is easier to do when it is not internal class of Settings class. And in general is it more natural that Settings class only contains list of suppressions and implementation is separate. 2011-08-21 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: improve message for #3035 (false negative: strcpy(dst, src) where src is bigger than dst) 2011-08-21 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: partial fix for #3035 (false negative: strcpy(dst, src) where src is bigger than dst) 2011-08-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #3032 (False positive: possible null pointer dereference (assignment in condition)) 2011-08-20 Robert Reif * test/testautovariables.cpp: add another test for #3030 (Improve check: Returning pointer to local array variable with '&' pointer operator) 2011-08-20 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: partial fix for #3030 (Improve check: Returning pointer to local array variable with '&' pointer operator) 2011-08-20 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: allow that 'missingInclude' messages are suppressed with '--suppress=missingInclude' 2011-08-20 Daniel Marjamäki * lib/cppcheck.cpp: Cppcheck: allow that 'toomanyconfigs' are suppressed. show these messages by default even though 'information' hasn't been enabled. 2011-08-20 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #3023 (False positive: no possible null pointer dereference here: 'WARN_ON(!abc || abc->x == 0);') 2011-08-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3024 (False positive: memory leak for 'rc.bitmap' when rc is added to linux kernel list) 2011-08-19 Daniel Marjamäki * lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h: Cppcheck: Don't show information messages about interrupted checking unless --enable=information has been given. 2011-08-19 Kimmo Varis * : Merge pull request #32 from rpavlik/qmake-configure-rules Qmake configure rules 2011-08-19 Kimmo Varis * test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters, test/testrunner.vcproj, test/testrunner.vcxproj, test/testrunner.vcxproj.filters: Rename Test VC project files. When the target name of the test runner binary changed to 'testrunner' also the filenames of the generated project files changed. 2011-08-19 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters: Update VS2008/2010 project files. Ticket: #3025 (Visual Studio projects needs updating for new lib/checkunusedvar files) 2011-08-19 Robert Reif * Makefile, lib/checkother.cpp, lib/checkother.h, lib/checkunusedvar.cpp, lib/checkunusedvar.h, lib/lib.pri, test/testunusedvar.cpp: move unused variable checks from checkother to checkunusedvar 2011-08-19 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #3011 (new check: when first comparison is true, the 2nd comparison is always true) 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: using boolean result in bitwise operation. fix false positive for '.. != (char *) &x' 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fixed false positives for the 'bitwise operator / comparison operator' check 2011-08-19 Robert Reif * lib/checkother.cpp, lib/checkother.h: refactor checkother to move error messages to follow check and rename some error functions to end in Error 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: fixed false positive for 'using bitwise operation on boolean result' 2011-08-19 Daniel Marjamäki * lib/checkassignif.cpp, test/testassignif.cpp: Improve check: Tweaked the assignAndCompare to handle | also in addition to & 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3018 (false positive: (style) Suspicious condition (assignment+comparison), it can be clarified with parentheses) 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Improve check: Clarify condition (using boolean result in bitwise operation) 2011-08-19 Daniel Marjamäki * lib/checkother.cpp: improved comment of previous commit 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #3001 (False Positive: Redundant assignment to itself) 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Suspicious condition: Better handling when rhs is non-numeric 2011-08-19 Edoardo Prezioso * Makefile, tools/dmake.cpp: Fixed #3017 (set HAVE_RULES to yes only if HAVE_RULES is undefined when executing make.) 2011-08-19 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: New check: warn about such suspicious conditions: '(a & b == c)' 2011-08-18 Daniel Marjamäki * cli/cmdlineparser.cpp: cmdlineparser: removed BOM 2011-08-18 Kimmo Varis * : Merge pull request #33 from rpavlik/handle-msvc-qt-cmdline Detect msvc qt command prompt in build.bat 2011-08-18 Ryan Pavlik * build-pcre.txt, build.bat: HAVE_RULES support for build.bat Let the user's setting of the HAVE_RULES environment variable affect build.bat's calls to qmake. 2011-08-18 Ryan Pavlik * build-pcre.txt: document the updated qmake/rules interaction 2011-08-18 Ryan Pavlik * lib/lib.pri, lib/pcrerules.pri, tools/dmake.cpp: put the rules logic in its own .pri file, and allow easier override 2011-08-18 Ryan Pavlik * cli/cli.pro: cli pro doesn't force HAVE_RULES anymore. 2011-08-18 Ryan Pavlik * lib/lib.pri, tools/dmake.cpp: use the qmake config setting HAVE_RULES to enable/disable pcre rules support, defaulting to on except on Windows. 2011-08-17 Daniel Marjamaki * cli/cmdlineparser.cpp: --std=posix : simplified help text. might still need further updates 2011-08-17 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/settings.h, test/testcmdlineparser.cpp: Command line: Added --std option. Right now only --std=posix is possible but other options might be added later. 2011-08-17 Tim Gerundt * htdocs/index.php: Web: Update download to version 1.50 2011-08-16 Robert Reif * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: fix #3013 (segmentation fault of cppcheck ( struct x : virtual y )) 2011-08-16 Reijo Tomperi * cli/cmdlineparser.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/settings.cpp, lib/settings.h: Add command line option: --debug-fp ... If used, cppcheck will print out the code generating error into output stream. This is ment to be used for debugging false positive errors in Cppcheck. Current implementation tries two alternatives. Without all headers or with all headers and prints out the option with less code. In future versions this could try with individual headers or group of header files. 2011-08-16 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #3012 (False Pos Memory Leak with a Macro) 2011-08-16 Daniel Marjamäki * lib/checkother.cpp, test/testincompletestatement.cpp: Fixed #3009 (Using numeric constants in kernel space code) 2011-08-15 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #3006 (segmentation fault of cppcheck ( x < () < )) 2011-08-15 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3005 (segmentation fault of cppcheck ( enum : x )) 2011-08-15 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3007 (false positive: (style) Struct 'Fred' hides typedef with same name) 2011-08-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3004 (false positive: (style) Struct 'Fred' hides typedef with same name) 2011-08-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3003 (segmentation fault of cppcheck (typedef a x[]; y = x )) 2011-08-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #3000 (false positive: (style) Struct 'Fred' hides typedef with same name) 2011-08-14 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: fix #2999 (false positive: (style) Struct 'Fred' hides typedef with same name) 2011-08-14 Daniel Marjamäki * Makefile, tools/dmake.cpp: Makefile: Added the -D_GLIBCXX_DEBUG flag again to get checked stl during debug 2011-08-14 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Added safety checks in case the code is corrupt. Related to ticket #2998 2011-08-14 Robert Reif * lib/checknullpointer.cpp: refactor CheckNullPointer::nullPointerByDeRefAndChec() to pull variable type lookup out of loop 2011-08-14 Robert Reif * lib/checkstl.cpp: convert CheckStl::if_find() to use the symbol database 2011-08-14 Robert Reif * lib/checkother.cpp: convert CheckOther::checkCharVariable() to use symbol database 2011-08-14 Robert Reif * lib/checkother.cpp: convert CheckOther::checkSizeofForNumericParameter() to use the symbol database 2011-08-14 Robert Reif * lib/checkother.cpp: convert CheckOther::checkIncrementBoolean() to use the symbol database 2011-08-14 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2011-08-14 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/checknonreentrantfunctions.cpp, lib/checkobsoletefunctions.cpp, lib/settings.cpp, lib/settings.h, test/testcmdlineparser.cpp, test/testnonreentrantfunctions.cpp, test/testobsoletefunctions.cpp: Settings: Removed the --enable=posix option. Ticket: #2949 2011-08-14 Daniel Marjamäki * Makefile: 1.50: Updated Makefile 2011-08-14 Daniel Marjamäki * Changelog: 1.50: Updated Changelog 2011-08-14 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.50: Updated version 2011-08-13 Robert Reif * lib/tokenize.cpp: fix [tokenize.cpp:6353]: (style) Checking if unsigned variable 'indentlevel' is less than zero. 2011-08-12 Kimmo Varis * gui/test/data/benchmark/simple.cpp: GUITESTS: Replace benchmark data file. The benchmark data file had errors when checking with Cppcheck. And people reported these errors. So replace the file with one that has no (currently found) errors. 2011-08-12 Kimmo Varis * cppcheck.cppcheck: GUI: Exclude test file from project file. The 'test/test.cxx' is a test file that contains some errors for testing purposes. Exclude it from the GUI-project file used to check Cppcheck sources so people don't report errors from it. 2011-08-12 Robert Reif * lib/tokenize.cpp: removed redundant set isNumber flag from previous commit 2011-08-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: fix #2963 (FP: Typedef names considered duplicate because __LINE__ not expanded) 2011-08-11 Robert Reif * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: fix #2991 (segmentation fault of cppcheck ( ::y(){x} )) 2011-08-12 Kimmo Varis * gui/test/readme.txt, gui/test/runtests.py: GUITESTS: Remove the running script. The script is available in another repository. I don't want to distribute it with Cppcheck sources for now. Maybe if and when there is more interest towards GUI tests... 2011-08-11 Kimmo Varis * tools/dmake.cpp: dmake: Fix build in Windows. 2011-08-11 Kimmo Varis * tools/dmake.vcproj: Tools: Update VS project file. 2011-08-11 Kimmo Varis * gui/aboutdialog.cpp, gui/aboutdialog.h, gui/mainwindow.cpp: GUI: Show extraversion in About-dialog. If the "extra version" is defined (not empty) then it is shown after the actual version number in the About-dialog. Ticket: #2164 ([GUI] Add revision info to "About" window) 2011-08-11 Kimmo Varis * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/cppcheck.h: Add "ExtraVersion" version number information. The "ExtraVersion" can be used for things like Git commit Id, release tag (version control), release date etc. If the string is empty, nothing is printed. 2011-08-11 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Fix misalign of "posix" in help text. Ticket: #2992 (Little misalignment of '* posix' by one space in CLI command help) 2011-08-11 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Fix word-wrapping of the help text. 2011-08-11 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Reword the help text for -i. New help text emphasizes we are ignoring/excluding source files. The header files (include via source files) are not touched. Ticket: #2965 (CLI: need better description for -i option (applies only to source files)) 2011-08-10 Kimmo Varis * tools/Makefile: Tools: fix Makefile tools/ Makefile contained errmsg target whose source does not exist anymore. And it didn't have a target for extracttests. Removed the errmsg target and added new target for extracttests. Ticket: #2988 (In tools, make error: no rule to make target `errmsg.cpp', needed by `errmsg'.) 2011-08-10 Kimmo Varis * test/testdivision.cpp: Tests: Re-enable style param for testdivision. My earlier commit (cfcfa3f0) removed the use of style parameter. This commit adds it back. Ticket: #2987 (GCC: warning: unused parameter ‘style’ in test/testdivision.cpp:39:10) 2011-08-10 Daniel Marjamäki * lib/checkautovariables.cpp, lib/tokenize.cpp, test/testautovariables.cpp: Fixed #2975 (False positive: Return of the address of an auto-variable) 2011-08-09 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fix #2986 (segmentation fault of cppcheck ( x[y] )) 2011-08-09 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2983 (segmentation fault of cppcheck) 2011-08-09 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: Fixed #2969 (False positive: assign address of auto-var to function parameter, when function parameter is reassigned later) 2011-08-09 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #2982 (false positive: using char type as array index (using string as key)) 2011-08-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2981 (False positive: struct member leak) 2011-08-08 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #2979 (Improve message: using char as array index) 2011-08-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2976 (False positive: array out of bounds) 2011-08-08 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2980 (segmentation fault of cppcheck) 2011-08-07 Robert Reif * : commit 829611b12964cdf8346eae9255d32fbed8b2d520 Author: Robert Reif Date: Sun Aug 7 16:48:47 2011 -0400 2011-08-07 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Buffer overrun: Fix false negative 2011-08-07 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: Fixed false positive when condition contains assignment 'if (p==NULL && (p=malloc(10))!=NULL) *p=0;' 2011-08-07 Kimmo Varis * lib/check64bit.cpp, lib/checkassignif.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkexceptionsafety.cpp, lib/checkmemoryleak.cpp, lib/checknonreentrantfunctions.cpp, lib/checkobsoletefunctions.cpp, lib/checkother.cpp, lib/checkpostfixoperator.cpp, lib/checkstl.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/test64bit.cpp, test/testassignif.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testcmdlineparser.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testnonreentrantfunctions.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp, test/testother.cpp, test/testpostfixoperator.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testtokenize.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp: Use "enabled" list for the style checking. Settings-class currently enables style checking via dedicated boolean attribute. All other CLI's enable-options are handled through the enable-list. This commit moves style-check enabling to use the enable-list. Main advantage is the consistency how options are handled/stored in the Settings class. Which also unifies using them for the other code. You need to enable certain type of checks? Use the addEnabled()-method. You want to check if certain type of checks are enabled? Use the isEnabled()-method. 2011-08-06 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #2968 (new check: testing if unsigned variable is less than 0) 2011-08-06 Robert Reif * lib/checkmemoryleak.cpp, lib/tokenize.cpp, test/testmemleak.cpp: fix #2971 (Wrong warning generated) 2011-08-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2970 (Incorrect report: Class does not have a constructor) 2011-08-06 Robert Reif * test/testtokenize.cpp: run astyle 2011-08-07 Kimmo Varis * cli/filelister.cpp: CLI: Fix problem building in Windows. 2011-08-06 Kimmo Varis * test/testcmdlineparser.cpp: Tests: Disable tests for CLI -i option. The tests use non-existing relative paths. Currently the code checks if the paths added to -i exist and hence these tests fail. 2011-08-06 Daniel Marjamäki * cli/cmdlineparser.cpp: help: clarify --suppress a little in the --help output. Ticket: #2964 2011-08-06 Kimmo Varis * cli/cppcheckexecutor.cpp, cli/filelister.cpp, lib/path.cpp, lib/path.h: CLI: Warn if user tries to exclude header files. Filename exclusion (with -i) works only for the source files. Print a warning if user tries to exclude header file. The warning instructs user to use --suppress for ignoring warnings from the header files. 2011-08-06 Kimmo Varis * cli/cmdlineparser.cpp, cli/filelister.cpp, cli/filelister.h: CLI: Strict check if exclude path is file. Initially I added logic that checked if excluded path was a file we would accept. This works for source files, but when file with "unknown" extension was given it was determined as a directory name and ending slash was added. E.g. -ifile.h would end up having ignored path file.h/. This commit adds per-platform checks if the path points to the file and if the file also exists. 2011-08-06 Simon Martin * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2870 (Tokenizer: simplify '0 |') 2011-08-05 Robert Reif * lib/checkstl.cpp, test/teststl.cpp: fix #2967 (segmentation fault of cppcheck ( auto_ptr< x >)) 2011-08-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2966 (segmentation fault of cppcheck ( enum x : )) 2011-08-05 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Array index out of bounds: prevent false positive when a dimension for an array is unknown 2011-08-05 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: tweaked the error message somewhat for id arrayIndexThenCheck 2011-08-04 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: add support for using global qualified :: memset on class and class member initialization 2011-08-04 Robert Reif * lib/checkstl.cpp, test/teststl.cpp: fix #2887 (infinit loop with ( A::A(std::auto_ptr e){} )) 2011-08-04 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Couple of messages missing cppcheck-prefix. 2011-08-04 Kimmo Varis * cli/cmdlineparser.cpp: CLI print warning for deprecated options. We don't want to keep these deprecated options for ever. So lets print a clear warning for the users and give also specific release number when they will be removed. Users have a plenty of time to update their scripts and environments before removal. Ticket: #2515 (Print warning for deprecated command line options) 2011-08-04 Edoardo Prezioso * test/test.pro: Fixed #2961 (Test executable name differs between Makefile and test.pro) 2011-08-04 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #2956 (False negative: read array and then immediately check the index 'str[i] && i * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp: No unmatched suppressions list in quiet output. When user wants to see only errors printed (--quiet in CLI) we must obey that. And not print unmatchedSuppressions list. Ticket: #2895 (Cannot suppress unmatchedSuppression reports) 2011-08-03 Kimmo Varis * test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Update VS project files. 2011-08-03 Daniel Marjamäki * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h: astyle formatting 2011-08-03 Daniel Marjamäki * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, test/testobsoletefunctions.cpp: Obsolete functions: Split up functions into posix/standard sets. Only check for obsolete posix functions if --enable=posix has been given. 2011-08-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-08-03 Kimmo Varis * gui/resultsview.cpp: GUI: Don't translate non-translatable strings. If strings contain only formatting placeholders for the dynamically formatted text it does not make sense to mark the strings as translatable. There is nothing translators can translate e.g. in "%p". 2011-08-03 Kimmo Varis * test/test.pro: Add missing test files to test.pro -project. 2011-08-03 Kimmo Varis * cli/cmdlineparser.cpp, lib/checknonreentrantfunctions.cpp, lib/settings.cpp, lib/settings.h, test/testcmdlineparser.cpp, test/testnonreentrantfunctions.cpp: CLI: Rename --posix to --enable=posix. Ticket: #2949 (new check: (style) finding non-reentrant functions) Ticket: #2952 (CLI option --posix is wrong) 2011-08-03 Daniel Marjamäki * lib/check64bit.h: corrected a comment 2011-08-03 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2919 (Wrong file name reported with #error in header) 2011-08-02 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix: #2942 (segmentation fault of cppcheck ( #elif (){ )) http://sourceforge.net/apps/trac/cppcheck/ticket/2942 2011-08-02 Daniel Marjamaki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck.sln, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Visual Studio: Updated project files 2011-08-02 Daniel Marjamäki * test/testnullpointer.cpp: Null pointer: Added todo test case to better handle dereference in condition 2011-08-02 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: reduce false negatives in pointerDerefAndCheck 2011-08-02 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2954 (False negative: Null pointer dereference not detected '*p=4; if (p) { }') 2011-08-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2900 (found memory leak in kernel p54usb and a false positive reported) 2011-08-01 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false negative when struct is dereferenced in condition 2011-08-01 Robert Reif * test/testtokenize.cpp: add test for #2937 (Scope::checkVariable found variable 'sMMF' with varid 0.) 2011-08-01 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h, test/testassignif.cpp: AssignIf: detect more problems for 'if' and 'else if' conditions 2011-08-01 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h, test/testassignif.cpp: Fixed #2908 (common logic when using bitwise and) 2011-08-01 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2789 (null pointer: problems not detected when pointer is assigned and checked if it's null in a if statement) 2011-08-01 Daniel Marjamäki * lib/checkassignif.cpp: astyle formatting 2011-08-01 Daniel Marjamäki * lib/checkassignif.cpp, test/testassignif.cpp: AssignIf: Improved the error message for mismatching comparison 2011-07-31 Robert Reif * lib/tokenize.cpp, test/testuninitvar.cpp: fix #2146 (uninitialized variable: false negative for 'return x ? 1 : y;') 2011-07-31 Daniel Marjamäki * lib/checkmemoryleak.cpp: Memory leaks: fix endless loop for 'if )'. the check assumed that the link after the 'if' pointed forwards. Ticket: #2404 2011-07-31 Robert Reif * lib/token.cpp, test/testtoken.cpp: fix #2911 (Token::Match(tok, %oror%|&&) doesn't match &&) 2011-07-31 Moritz Lipp * lib/checkother.cpp: Fixed #2793 (SIGABRT on filenames without file extension) 2011-07-31 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: removed the unused function CheckMemoryLeakInFunction::matchFunctionsThatReturnArg 2011-07-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: fix false negatives when unknown function is called and pointer is local/argument 2011-07-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: better handling when calling standard functions with possible null pointer 2011-07-31 Daniel Marjamäki * lib/checkassignif.cpp, test/testassignif.cpp: AssignIf: handle parantheses. ticket: #2909 2011-07-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2935 (possible null pointer dereference when using strcpy etc) 2011-07-31 Daniel Marjamäki * lib/checkassignif.h: astyle formatting 2011-07-31 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h, test/testassignif.cpp: AssignIf: Match lhs and rhs for comparisons. Ticket: #2909 2011-07-31 Daniel Marjamäki * lib/checkassignif.cpp, lib/checkassignif.h, test/testassignif.cpp: AssignIf: Detect problem for 'y=x&4; if(y!=3)..'. Ticket: #2909 2011-07-30 Daniel Marjamäki * Makefile, lib/checkassignif.cpp, lib/checkassignif.h, lib/lib.pri, test/testassignif.cpp: AssignIf: Added new check. Ticket: #2909 2011-07-30 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2788 (null pointer: dereference and then check 'if (abc->a == 3) { } if (!abc) ..') 2011-07-30 Robert Reif * lib/checkclass.cpp: assume all std::*::size() and std::*::empty() are const in CheckClass::checkConstFunc() 2011-07-30 Robert Reif * lib/tokenize.cpp: fix cppcheck warning in Tokenizer::duplicateTypedef() 2011-07-30 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: add std::*.empty() to possible const functions in CheckClass::checkConstFunc 2011-07-30 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #1593 (false negative: the function can be declared as const) 2011-07-30 Robert Reif * lib/checkother.cpp: fix missing else in patch that added support for unused const local variables 2011-07-30 Simon Martin * lib/checkmemoryleak.cpp: Fixed #2951 (Small code factorization in checkmemoryleak.cpp) 2011-07-30 Ettl Martin * lib/checknonreentrantfunctions.h: nonreentrant-functions: added more functions to check 2011-07-29 Robert Reif * lib/checkother.cpp: use simpleMatch where possible in checkother.cpp 2011-07-29 Ettl Martin * : commit f441a958cd50959f94695cb754fa925611927aa3 Author: Ettl Martin Date: Fri Jul 29 23:37:40 2011 +0200 2011-07-29 Kimmo Varis * test/testcmdlineparser.cpp: Tests: add semicolons after TEST_CASE() 2011-07-29 Kimmo Varis * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Add --posix CLI option. Part of ticket #2949 (new check: (style) finding non-reentrant functions) 2011-07-29 Ettl Martin * lib/checknonreentrantfunctions.cpp, lib/checknonreentrantfunctions.h, lib/settings.cpp, lib/settings.h, test/testnonreentrantfunctions.cpp: added a check to detect nonreentrant functions and a --posix switch 2011-07-28 Ettl Martin * Makefile, lib/checknonreentrantfunctions.cpp, lib/checknonreentrantfunctions.h, lib/lib.pri, test/testnonreentrantfunctions.cpp: Added a new check for finding non-reentrant functions 2011-07-27 Zachary Blair * gui/common.h, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: Fixed 2915 (GUI: Show files checked in progress bar) 2011-07-28 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkuninitvar.cpp, test/testother.cpp: Fixed 'possible null pointer dereference' warning messages 2011-07-28 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2821 (New Check : bool pointer null truth assignment) 2011-07-28 Daniel Marjamäki * scripts/comment.pl, scripts/define.pl, scripts/magic-numbers.pl, scripts/readme.txt, scripts/tabs.pl: removed the 'scripts' folder. I don't think it belongs in the cppcheck repo. 2011-07-27 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2947 (False positive: member variable is not initialized (a[x::y] = 0;)) 2011-07-27 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix #2943 (Symbol database: Wrong parsing of std::vector as base class.) 2011-07-27 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: Auto Variables: Reverted fix for #1514 because my idea was wrong. See ticket: #2944 2011-07-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2946 (False positive: Uninitialized buffer variable (init in subfunction)) 2011-07-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2945 (False positive: Uninitialized variable reading from stream) 2011-07-25 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: Added check for 'if (fred); return fred->a;' 2011-07-25 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2812 (false negative: null pointer dereference when returning struct member) 2011-07-25 Daniel Marjamäki * lib/executionpath.cpp, test/testuninitvar.cpp: Fixed #2796 (uninitialized and leaving scope) 2011-07-25 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2681 (False negative: Possible null pointer dereference) 2011-07-25 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/cppcheck.h: Fixed #2941 (False positive: unused function (individual checking of files)) 2011-07-24 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false positive if there is assignment in return statement 2011-07-24 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2938 (Uninitialized variable not detected when part of expression) 2011-07-24 Simon Martin * lib/mathlib.cpp: Fix GCC warning about float comparison. Ticket: #2936 2011-07-24 Kimmo Varis * gui/test/readme.txt: GUITESTS: Add simple readme.txt. 2011-07-24 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: add support for unused const local variables 2011-07-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2921 (False positive: Memory leak with static pointer) 2011-07-24 Daniel Marjamäki * Makefile: Makefile: auto-update by dmake 2011-07-24 Daniel Marjamäki * lib/tokenize.cpp, test/testpostfixoperator.cpp: astyle formatting 2011-07-24 Simon Martin * test/testpostfixoperator.cpp: Added testcases for #2933 (Postfix operator check fails to warn for structs) 2011-07-24 Daniel Marjamäki * lib/tokenize.cpp: Fixed #2817 (valgrind errors in simplifyTemplate when running tests) 2011-07-24 Simon Martin * lib/checkother.cpp, test/testdivision.cpp: Fixed #2932 (segmentation fault of cppcheck ( i / i )) 2011-07-24 Simon Martin * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Fix #if0 #elif todo test case. Ticket: #2619 2011-07-23 Robert Reif * lib/checkpostfixoperator.cpp: convert CheckPostfixOperator::postfixOperator() to use the symbol database 2011-07-23 Robert Reif * lib/symboldatabase.cpp: add support for local variables with constructors to the symbol database 2011-07-22 Robert Reif * : commit 527c1aae3319a70e03e0215081746c3c24a37347 Author: Robert Reif Date: Fri Jul 22 08:31:31 2011 -0400 2011-07-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyFunctionPointer: don't simplify function call. Ticket: #2873 2011-07-21 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix #1514 (Improve CheckAutoVariables: assign autovariable address to effective parameter) 2011-07-21 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix #2926 (false negative in auto variables checking when function parameter is a struct) 2011-07-21 Robert Reif * Makefile: fix some development stuff that snuck in by mistake 2011-07-21 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: fix #2929 (Additional Unused variable check) 2011-07-21 Robert Reif * Makefile, lib/checkautovariables.cpp, test/testautovariables.cpp: fix #2928 (False positive (static variable misinterpreted as auto variable)) 2011-07-21 Kimmo Varis * gui/resultstree.cpp: GUI: Simplify condition. With current code we always have both filename and linenumber for each error. 2011-07-21 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2885 (crash of cppcheck while checking gcc-testsuite) 2011-07-21 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h: Fixed #2856 (--errorlist not printing all auto-variable errors) 2011-07-21 Kimmo Varis * gui/checkthread.h, gui/resultsview.h, gui/threadhandler.h, gui/threadresult.h: GUI: Don't use relative paths for include files. 2011-07-21 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2848 (False positive: Memory leak when assigning and freeing from another struct) 2011-07-21 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2897 (out of bounds false positive, using reinterpret_cast) 2011-07-21 Daniel Marjamäki * man/manual.docbook: Fixed #2850 (Inline suppressions not documented in manual) 2011-07-20 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix #2925 (False negative: auto variables - assigning address of array to function parameter) 2011-07-20 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #2794 (Improper hanling of preprocessor directives #if defined) 2011-07-20 Daniel Marjamäki * : Merge pull request #28 from bwy/master Fix "auto_ptr assignment" false positive 2011-07-20 Daniel Marjamäki * cli/cmdlineparser.cpp: cmdlineparser: changed unusedFunctions to unusedFunction to make it work 2011-07-20 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-07-20 Kimmo Varis * gui/mainwindow.cpp: GUI: Filter toolbar menu items not in synch. When Filter-toolbar was enabled/disabled from the View-menu its state was not updated to the context menu. And vice versa. Ticket: #2923 (GUI: Filter toolbar menu items not synchronized) 2011-07-20 Kimmo Varis * gui/main.ui: GUI: Filter toolbar didn't have a title. Ticket: #2922 (GUI: Filter toolbar does not have a title) 2011-07-20 Daniel Marjamäki * lib/cppcheck.cpp: Fixed #2924 (Unable to turn on unused function detection from command line) 2011-07-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Better handling of constants. Related with #2920 2011-07-20 Benjamin Wolsey * test/teststl.cpp: Test false auto_ptr positive. Assignments after a function returning an auto_ptr is declared are detected as auto_ptr assignments! 2011-07-20 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2920 (False positive: Array 'arr[0]' index 0 out of bounds (array size and index are unknown)) 2011-07-20 Daniel Marjamäki * cli/cmdlineparser.cpp: Cmdlineparser: Removed deprecated flag --unused-functions 2011-07-19 Ettl Martin * test/testmathlib.cpp: testmathlib: improved testcoverage of mathlib 2011-07-18 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2917 (Problem with || in #if) 2011-07-18 Robert Reif * lib/checkother.cpp: simplify CheckOther::checkIncorrectLogicOperator() by using more pattern matching 2011-07-17 Robert Reif * lib/checkother.cpp, test/testother.cpp: made #2827 fix more generic by adding more ops and using pattern matching rather than string matching 2011-07-17 Kimmo Varis * gui/resultstree.cpp: GUI: Fix always false condition. Ticket: #2827 (false negative: gui/resultstree.cpp:271 condition always false) 2011-07-17 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-07-17 Kimmo Varis * gui/resultstree.cpp: GUI: Show error if no default editor configured. There always should be default editor if there is editor application configured. But it is possible in some cases that default application is "lost". So check that we have default application configured before trying to use it. And inform user to configure default application instead of silently failing to open the application (and the file) for the user. 2011-07-17 Kimmo Varis * gui/resultstree.cpp: GUI: Fix separators when opening file to editor. Ticket: #2916 (Wrong slashes in file path passed to the Windows-text editors) 2011-07-17 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: CheckBufferOverrun: Detect overflows when buffer is allocated with alloca 2011-07-17 Daniel Marjamäki * test/testsimplifytokens.cpp: TestSimplifyTokens: removed copy/pasted comment 2011-07-16 Robert Reif * lib/checkother.cpp, lib/mathlib.cpp, lib/mathlib.h, test/testother.cpp: fix #2827 to use numeric comparisons 2011-07-16 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #2827 condition always false or true) 2011-07-16 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: better handling of 'struct AB ab; sizeof(ab)' 2011-07-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2873 (segmentation fault of cppcheck while scanning rose-compiler suite) 2011-07-16 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: minor update to handle C# code better 2011-07-16 Daniel Marjamäki * lib/check64bit.cpp, test/test64bit.cpp: Fixed #2912 (false positive: (portability) Assigning an integer (int/long/etc) to a pointer is not portable) 2011-07-16 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2871 (Define in source not set when -D is used) 2011-07-16 Kimmo Varis * test/testerrorlogger.cpp: Add more tests for ErrorLogger. Add tests that have two items in error location stack. 2011-07-16 Robert Reif * test/testtoken.cpp: testcase for broken Token::Match %oror%|&& 2011-07-16 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Improve and clarify help text. 2011-07-16 Daniel Marjamäki * lib/preprocessor.cpp: astyle formatting 2011-07-16 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: fix handling of (1&&2) condition 2011-07-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fix minor problem with 'X&&Y' 2011-07-15 Daniel Marjamäki * lib/token.cpp, test/testtoken.cpp: astyle formatting 2011-07-15 John Smits * lib/token.cpp, test/testtoken.cpp: Fixed #2882 (One-character token can be mistaken for a multiCompare) 2011-07-14 Robert Reif * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: fix some more false negatives for #2904 (Memory leak not detected when creating a new class instance) 2011-07-14 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2822 (New check: Duplicate break statements in switch) 2011-07-14 Robert Reif * lib/checkmemoryleak.cpp, lib/checkother.cpp, test/testmemleak.cpp, test/testunusedvar.cpp: fix #2904 (Memory leak not detected when creating a new class instance) 2011-07-07 Daniel Marjamäki * lib/check64bit.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/test64bit.cpp: Fixed #2892 (false positive: (portability) Assigning an address value to the integer (int/long/etc) type is not portable) 2011-07-06 Daniel Marjamäki * lib/check64bit.cpp, lib/check64bit.h, test/test64bit.cpp: 64-bit portability: fixed two of the TODO test cases. Ticket: #2791 2011-07-06 Daniel Marjamäki * : commit 827fb01ec19c9ab2be07840c14f93f915866eb3f Author: Daniel Marjamäki Date: Wed Jul 6 12:57:45 2011 +0200 2011-07-06 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Update Visual Studio 2008/2010 project files. 2011-07-06 Daniel Marjamäki * Makefile, lib/check64bit.cpp, lib/check64bit.h, lib/lib.pri, test/test64bit.cpp: 64-bit checking: Added simple check for assigning pointer address to int/long. Ticket: #2791 2011-07-05 Daniel Marjamäki * lib/checkother.cpp: spell check of error message. contant => constant 2011-07-05 Daniel Marjamäki * test/testcharvar.cpp: TestCharVar::pointer: Added one more test case to see that error message disappears when code is fixed 2011-07-05 Daniel Marjamäki * lib/checkother.cpp, test/testcharvar.cpp: Fixed #2866 (Detect sign extension bugs) 2011-07-05 Greg Hewgill * lib/checkother.cpp: Fix spelling error in warning identifier 2011-07-04 Daniel Marjamäki * : Merge pull request #27 from gerundt/man-improvements Manual improvements 2011-07-03 Daniel Marjamäki * test/testsimplifytokens.cpp: Tokenizer::simplifyGoto: fixed unit tests 2011-07-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2886 (crash of cppcheck ( typedef struct x { } )) 2011-07-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix missing pop in Tokenizer::simplifyStructDecl() when anonymous struct/union removed 2011-07-02 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: add support for checking unused std::string local variables 2011-07-02 Tim Gerundt * htdocs/.htaccess, htdocs/devinfo/index.php: Web: Redirect doxyoutput, coverage- and cpd report to devinfo directory 2011-07-02 Tim Gerundt * man/manual.docbook, man/writing-rules-1.docbook, man/writing-rules-2.docbook, man/writing-rules-3.docbook: Manual: Add internal links 2011-07-02 Tim Gerundt * man/manual.docbook: * Manual: Miscellaneous tag changes 2011-07-02 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: add class A {} a; -> class A {}; A a; conversion capability to Tokenizer::simplifyStructDecl() 2011-07-02 Tim Gerundt * man/manual.docbook, man/writing-rules-1.docbook, man/writing-rules-2.docbook, man/writing-rules-3.docbook: Manual: Move "Writing Cppcheck rules" author to the beginning of the appendix 2011-07-02 Tim Gerundt * man/manual.docbook, man/writing-rules-1.docbook, man/writing-rules-2.docbook: Manual: Miscellaneous tag changes 2011-07-01 Robert Reif * lib/symboldatabase.cpp: fix #2884 (Integer overflow warning in 64-bit build) 2011-07-01 Tim Gerundt * man/manual.docbook: Manual: Use tags for menu items 2011-07-01 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::simplifyGoto: Only simplify the last label in the function. If there are many labels in the same function and all labels are simplified, this function becomes very slow. 2011-07-01 Tim Gerundt * man/cppcheck-design.docbook, man/manual.docbook: Manual: Don't wrap with 2011-07-01 Tim Gerundt * man/manual.docbook, man/writing-rules-1.docbook, man/writing-rules-2.docbook, man/writing-rules-3.docbook: Manual: Use and tags 2011-07-01 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: fix false positive for unused local class/struct variable 2011-07-01 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: add support in CheckOther::functionVariableUsage() for checking structures that are declared with struct keyword 2011-07-01 Robert Reif * lib/checkother.cpp: cleanup isStatic in CheckOther::functionVariableUsage() 2011-06-30 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testunusedvar.cpp: add support for detecting unused function variables of type class or struct 2011-06-30 Reijo Tomperi * lib/checkmemoryleak.cpp: Minor cleanup related to previous fix. This code should not be needed anymore as tokenizer should simplify question mark away. 2011-06-30 Reijo Tomperi * lib/tokenize.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fix #2849, False positive: memory leak (using question mark operator) http://sourceforge.net/apps/trac/cppcheck/ticket/2849 Simplify: *d = b ? b : a; into if-else Simplify { ; { ; } } into { ; } Removed one memleak test which should be redundant now as question marks should not get into memleak check. 2011-06-30 Tim Gerundt * man/manual.docbook, man/writing-rules-1.docbook: Manual: Use tag for files and directories 2011-06-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2849 (False positive: memory leak (using question mark operator)) 2011-06-30 Robert Reif * lib/tokenize.cpp, test/testclass.cpp: fix #2878 (derived global class not tokenized properly (class A : ::B { };)) 2011-06-29 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2825 (missing varid on class variables when multiple inheritance is used) 2011-06-29 Robert Reif * lib/symboldatabase.cpp: fix symbol database derived template class support 2011-06-29 Robert Reif * lib/symboldatabase.cpp: add global namespace derived class support 2011-06-29 Robert Reif * lib/tokenize.cpp, test/testclass.cpp: partial fix for #2867 handle derived class 2011-06-29 Kimmo Varis * lib/path.h: Document that Path::simplifyPath() needs / as separators. 2011-06-29 Daniel Marjamäki * lib/settings.cpp, test/testsettings.cpp: Fixed #2797 (Inline suppressions do not handle filenames correctly) 2011-06-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2855 (False positive: resource leak when reusing fd) 2011-06-29 Daniel Marjamäki * : Merge pull request #26 from gerundt/man-appendix Add "Writing Cppcheck rules" and "Cppcheck Design" articles as appendix to the manual 2011-06-29 Robert Reif * lib/checkclass.cpp, test/testunusedprivfunc.cpp: fix #2807 (Wrong handling of function references when prefixed with &) 2011-06-28 Robert Reif * lib/tokenize.cpp, lib/tokenize.h: fix #2864 (--errorlist missing errors: variableHidingTypedef and Extra qualification) 2011-06-28 Robert Reif * lib/tokenize.cpp, test/testclass.cpp: partial fix for #2867 Tokenizer::removeRedundantAssignment didn't understand function local class and removed class variable 2011-06-28 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2875 (segmentation fault of cppcheck ( 0; (a) < (a) )) 2011-06-27 Tim Gerundt * man/buildman.sh: Drop "Writing Cppcheck rules" and "Cppcheck Design" articles from build file 2011-06-27 Tim Gerundt * man/cppcheck-design.docbook, man/manual.docbook, man/writing-rules-1.docbook, man/writing-rules-2.docbook, man/writing-rules-3.docbook: Add "Writing Cppcheck rules" and "Cppcheck Design" articles as appendix to the manual 2011-06-27 Tim Gerundt * htdocs/devinfo/index.php: Web: Update style from trac timeline items at dev info page 2011-06-27 Tim Gerundt * htdocs/devinfo/index.php, htdocs/site/activetopics.php: Web: Show also last post time from active forum topics 2011-06-27 Robert Reif * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: fix #2865 (segmentation fault of cppcheck ( char a[1] )) 2011-06-26 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2859 (Extra qualification not detected) 2011-06-26 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #2860, False positive: Returning value of strncat() reported as memory leak http://sourceforge.net/apps/trac/cppcheck/ticket/2860 2011-06-26 Reijo Tomperi * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fix #2840, False positive: Null pointer dereference http://sourceforge.net/apps/trac/cppcheck/ticket/2840 2011-06-25 Tim Gerundt * : Merge pull request #25 from kimmov/web Web: Couple of front page improvements 2011-06-24 Kimmo Varis * htdocs/index.php: Web: Add link to Wikipedia's static analysis tool article. People looking at our front page may not be familiar with what the static analysis even means. Add a link which explains it for them. 2011-06-24 Kimmo Varis * htdocs/index.php: Web: Improve front page language. Improve language in few places at the home page. And try to make couple of things more clear for people not familiar with this kind of tools. 2011-06-24 Tim Gerundt * htdocs/devinfo/index.php, htdocs/site/activetopics.php: Web: Show active forum topics at dev info page 2011-06-24 Robert Reif * lib/checkbufferoverrun.cpp, lib/symboldatabase.cpp: replace some pattern matching with variable lookup in checkGlobalAndLocalVariable 2011-06-23 Robert Reif * lib/symboldatabase.cpp: set symbol database array variable dimensions specified by a variable to the maximum size that variable can hold 2011-06-23 Robert Reif * lib/checkbufferoverrun.cpp: fix an off by 1 error introduced in 48e6ea271a08a0d1cb9d2a5a22b6f946e404b959 that prevented checking all variables 2011-06-23 Kimmo Varis * gui/test/runtests.py: GUITESTS: Improve the running script. Don't use recursion in the script. The Python's os.walk() already lists all files in subdirectories and using recursion only caused tests to be found twice. Also handle the case the project file defines binary path with DESTDIR define. 2011-06-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Added TODO test case for the simplifyKnownVariables to better simplify local variables 2011-06-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2815 (FP: Null pointer dereference error about a member) 2011-06-23 Tim Gerundt * : commit dcaf7be9b5fdb6f9c53626ac5cdedbad475f7f35 Author: Tim Gerundt Date: Thu Jun 23 11:10:42 2011 +0200 2011-06-23 Tim Gerundt * htdocs/index.php: Web: Download only the chars we really need from Orbitron font 2011-06-23 Tim Gerundt * htdocs/index.php: Web: Update download to version 1.49 2011-06-22 Robert Reif * lib/checkbufferoverrun.cpp: use symbol database to lookup variable type for buffer overrun checks 2011-06-22 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: start using symbol database array info for buffer overrun checks 2011-06-22 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: add array information to symbol database 2011-06-22 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: use a more conventional technique for accessing ArrayInfo private variables 2011-06-22 Robert Reif * gui/test/benchmark/simple/benchmarksimple.cpp: run astyle 2011-06-22 Kimmo Varis * gui/test/runtests.py: GUITESTS: Run only existing tests with the script. Improve the runner script to run only tests whose binary file exists. Tests with inexistant binary file are not counted into test counts in the summary. Add the MIT license header. I'm now maintaining this script in external repository with MIT license. So I can use the script in other projects too. 2011-06-20 Kimmo Varis * gui/test/benchmark/benchmark.pro, gui/test/benchmark/common.pri, gui/test/benchmark/simple/benchmarksimple.cpp, gui/test/benchmark/simple/benchmarksimple.h, gui/test/benchmark/simple/simple.pro, gui/test/data/benchmark/simple.cpp, gui/test/test.pro: BENCHMARKS: Add simple benchmark. 2011-06-22 Reijo Tomperi * runastyle: Fix #2843, Astyle script does not recognize Astyle 2.02 http://sourceforge.net/apps/trac/cppcheck/ticket/2843 2011-06-22 Reijo Tomperi * runastyle: Add some comments to runastyle script 2011-06-22 Reijo Tomperi * lib/checkpostfixoperator.cpp, test/testpostfixoperator.cpp: Fix #2847, cppcheck hangs with 100% cpu load http://sourceforge.net/apps/trac/cppcheck/ticket/2847 2011-06-21 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2808 (False positive 'Possible null pointer dereference') 2011-06-21 Daniel Marjamäki * createrelease: createrelease: updated upload command 2011-06-21 Kimmo Varis * gui/test/runtests.py: GUITESTS: Print summary from the test script. 2011-06-21 Kimmo Varis * gui/test/runtests.py: GUITESTS: Add Python script for running all tests. 2011-06-21 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2845 (segmentation fault of cppcheck) 2011-06-20 seb777 * test/teststl.cpp: run astyle 2011-06-20 seb777 * lib/checkstl.cpp, test/teststl.cpp: fix 2846 (false positive for auto_ptr check with container element) 2011-06-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2830 (false positive: resource leak when using fdopen) 2011-06-19 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2844 fix to generate correct output 2011-06-19 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2844 (typedef causes 'syntax error') 2011-06-19 Felix Geyer * Makefile, tools/dmake.cpp: Ticket: #2823 (cppcheck fails to build with system tinymxl and -Wl,--as-needed) 2011-06-18 Kimmo Varis * readme_gui.txt: GUITESTS: Add short mention of tests to gui readme. 2011-06-18 Kimmo Varis * gui/test/data/files/dir2/foo1.cpp, gui/test/filelist/testfilelist.cpp, gui/test/filelist/testfilelist.h: GUITESTS: Add FileList filtering tests. 2011-06-18 Kimmo Varis * tools/Makefile: Fix tools/Makefile permissions. 2011-06-18 Daniel Marjamäki * createrelease: createrelease: added scp command for uploading files 2011-06-17 seb777 * lib/checkstl.cpp, test/teststl.cpp: fix 2838 (Token::Match called with varid 0 on auto_ptr check) cleanup code and better check varid 2011-06-17 Kimmo Varis * gui/test/data/files/dir1/dir11/foo11.cpp, gui/test/data/files/dir1/foo1.cpp, gui/test/filelist/testfilelist.cpp, gui/test/filelist/testfilelist.h: GUITESTS: Add tests for adding directory. 2011-06-17 Kimmo Varis * gui/test/data/projectfiles/simple.cppcheck, gui/test/data/projectfiles/simple_noroot.cppcheck, gui/test/data/xmlfiles/xmlreport_v1.xml, gui/test/data/xmlfiles/xmlreport_v2.xml, gui/test/projectfile/testprojectfile.cpp, gui/test/projectfiles/simple.cppcheck, gui/test/projectfiles/simple_noroot.cppcheck, gui/test/xmlfiles/xmlreport_v1.xml, gui/test/xmlfiles/xmlreport_v2.xml, gui/test/xmlreport/testxmlreport.cpp, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv2/testxmlreportv2.cpp: GUITESTS: Move testdata to data-subdirectory. 2011-06-17 Kimmo Varis * gui/test/common.pri, gui/test/data/files/bar1, gui/test/data/files/bar1.foo, gui/test/data/files/foo1.cpp, gui/test/data/files/foo2.cxx, gui/test/data/files/foo3.cc, gui/test/data/files/foo4.c, gui/test/data/files/foo5.c++, gui/test/data/files/foo6.txx, gui/test/data/files/foo7.tpp, gui/test/filelist/filelist.pro, gui/test/filelist/testfilelist.cpp, gui/test/filelist/testfilelist.h, gui/test/test.pro: GUITESTS: Add simple test for FileList. These tests check that FileList only accepts existing files with accepted filename extensions. 2011-06-17 Kimmo Varis * gui/test/projectfile/testprojectfile.cpp, gui/test/translationhandler/testtranslationhandler.cpp, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv2/testxmlreportv2.cpp: GUITESTS: Few compares in tests were wrong way around. 2011-06-16 seb777 * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: fix #747 and #748 (incorrect use of auto_ptr - new check) 2011-06-16 Kimmo Varis * gui/applicationlist.cpp, gui/applicationlist.h, gui/mainwindow.cpp: GUI: Cleanup settings usage. Use local QSettings instead of the one created by MainWindow. 2011-06-16 Kimmo Varis * gui/test/common.pri, gui/test/projectfile/projectfile.pro, gui/test/projectfile/testprojectfile.cpp, gui/test/projectfile/testprojectfile.h, gui/test/projectfiles/simple.cppcheck, gui/test/projectfiles/simple_noroot.cppcheck, gui/test/test.pro: GUITESTS: Add tests for loading project files. 2011-06-16 Kimmo Varis * gui/test/xmlreport/testxmlreport.cpp, gui/test/xmlreport/xmlreport.pro, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv1/xmlreportv1.pro, gui/test/xmlreportv2/testxmlreportv2.cpp, gui/test/xmlreportv2/xmlreportv2.pro: GUITESTS: More flexible test data paths. Use build-time define to set the path to the source files directory. Which then can be used to format path to the test data. This allows running tests from out-of-source-tree -builds that e.g. QtCreator does. 2011-06-15 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-06-15 Kimmo Varis * gui/txtreport.h: GUI: Add Q_OBJECT to TxtReport class. 2011-06-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix extra qualification check for same class name in different namespaces 2011-06-14 Lauri Nurmi * lib/checkstl.cpp: Fixed #2836 ([PATCH] FP: Dereferenced iterator has been erased) 2011-06-12 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2011-06-12 Daniel Marjamäki * Makefile: 1.49: Updated Makefile for release 2011-06-12 Daniel Marjamäki * Changelog: 1.49: Updated the changelog 2011-06-12 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: 1.49: updated version 2011-06-12 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2835 (crash of cppcheck ( ><,f * lib/tokenize.cpp, test/testtokenize.cpp: fix #2831 (crash of cppcheck ( z )) 2011-06-12 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2834 (crash of cppcheck (std::vector::iterator)) 2011-06-11 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: fix #2739 (segmentation fault of cppcheck ( if()x )) 2011-06-11 seb777 * AUTHORS: With the agreement of Daniel Marjamäki, I write my name in this AUTHORS file. If you also want to have your name in this file, contribute to cppcheck. 2011-06-10 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2682 (segmentation fault of cppcheck ( x a[0] = )) 2011-06-10 Kimmo Varis * gui/test/xmlfiles/xmlreport_v1.xml, gui/test/xmlreportv1/testxmlreportv1.cpp: GUITESTS: Fix XML V1 test. Test was using and assuming that severity string starts with capital letter (e.g. "Style"). But the strings are all lowercase letters. Ticket #2832 (GUI: XML version 1 test fails) 2011-06-10 Kimmo Varis * gui/test/translationhandler/translationhandler.pro, gui/test/xmlreport/xmlreport.pro, gui/test/xmlreportv1/xmlreportv1.pro, gui/test/xmlreportv2/xmlreportv2.pro: GUITESTS: Use common build artifact directory. Using common build artifacts (object files, moc files) avoids recompiling whole lib and other shared files separately for each test. 2011-06-10 Kimmo Varis * gui/test/translationhandler/testtranslationhandler.cpp: GUITESTS: Run Astyle. 2011-06-10 Kimmo Varis * runastyle, runastyle.bat: Run Astyle recursively for gui/test. GUI's tests are now in separate subdirectories. To avoid adding each subdirectory to the Astyle scripts run Astyle recursively. 2011-06-10 Kimmo Varis * gui/test/main.cpp: GUITESTS: Remove unneeded main file. 2011-06-10 Kimmo Varis * gui/test/test.pro, gui/test/testxmlreportv2.cpp, gui/test/testxmlreportv2.h, gui/test/xmlreportv2/testxmlreportv2.cpp, gui/test/xmlreportv2/testxmlreportv2.h, gui/test/xmlreportv2/xmlreportv2.pro: GUITESTS: Move XML V2 tests to own project. 2011-06-10 Kimmo Varis * gui/test/test.pro, gui/test/testxmlreportv1.cpp, gui/test/testxmlreportv1.h, gui/test/xmlreportv1/testxmlreportv1.cpp, gui/test/xmlreportv1/testxmlreportv1.h, gui/test/xmlreportv1/xmlreportv1.pro: GUITESTS: Move XML format V1 tests to own project. 2011-06-10 Kimmo Varis * gui/test/xmlreport/testxmlreport.cpp: GUITESTS: Fix XML files paths. 2011-06-10 Kimmo Varis * gui/test/test.pro, gui/test/testxmlreport.cpp, gui/test/testxmlreport.h, gui/test/xmlreport/testxmlreport.cpp, gui/test/xmlreport/testxmlreport.h, gui/test/xmlreport/xmlreport.pro: GUITESTS: Refactoring XmlReport test. 2011-06-10 Kimmo Varis * gui/test/translationhandler/testtranslationhandler.cpp: GUITESTS: Fix translation count in test. 2011-06-10 Kimmo Varis * gui/test/common.pri, gui/test/test.pro, gui/test/testtranslationhandler.cpp, gui/test/testtranslationhandler.h, gui/test/translationhandler/testtranslationhandler.cpp, gui/test/translationhandler/testtranslationhandler.h, gui/test/translationhandler/translationhandler.pro: GUITESTS: Refactoring test building. Start building each test as separate project as QtestLib tests usually are built. This commit adds the infrastructure and moves TranslationHandler test as own project. 2011-06-09 Robert Reif * lib/tokenize.cpp: improve #2828 fix by adding switch 2011-06-08 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2828 (false positive: Function parameter 'STYLE' hides enumerator with same name) 2011-06-08 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2805 (false positive: [NotAssigned1.cpp:5]: (style) Variable 'y' is not assigned a value) 2011-06-08 Kimmo Varis * gui/mainwindow.cpp: GUI: Give full path when opening project file. Fix I did yesterday gave only filename of the project file for function loading project file. Causing the loading failing if not in "current" directory. 2011-06-07 Kimmo Varis * gui/mainwindow.cpp: GUI: More strict filtering for finding project file. 2011-06-07 Kimmo Varis * gui/mainwindow.cpp: GUI: Suggest using project file if one is found. If we there is project file in the directory to check then ask user if one wants to use the project file instead. If there are multiple project files then just tell there are project files and ask if user wants to continue without using them. Ticket: #2816 (GUI regression: Interrupted checking because of too many #ifdef configurations.) 2011-06-07 Kimmo Varis * gui/mainwindow.cpp: GUI: Handle missing checked paths in project file. If the project file does not define paths to check then check the project root directory (which likely is the directory where the project file is located). Ticket #2816 (GUI regression: Interrupted checking because of too many #ifdef configurations.) 2011-06-06 Robert Reif * gui/mainwindow.cpp: make usre we have a project file before outputting its name 2011-06-04 Robert Reif * gui/mainwindow.cpp, gui/projectfile.h: Output GUI project name when checking starts or restarts 2011-06-03 Robert Reif * test/testnullpointer.cpp: todo tests for #2812 (false negative: null pointer dereference when returning struct member) 2011-06-03 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2795 (hash operator[] is not 'const') (original patch by Sebastien Debrard) (modified to use the symbol database) 2011-06-03 Robert Reif * lib/tokenize.cpp: fix 2 use after frees in simplifyEnum found by visual studio and verified by valgrind 2011-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2806 (False positive with g_strstrip()) 2011-05-27 seb777 * lib/checkother.cpp, test/testother.cpp: fix #2786 (new check: Using sizeof with numeric constant) Add unit test and improve check with negative constant because in cppcheck %num% means 'integer' 2011-05-27 Robert Reif * lib/checknullpointer.cpp, test/testnullpointer.cpp: add support for null pointer checking struct pointers 2011-05-27 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2804 (Underlying type of enumerator produces a syntax error) 2011-05-24 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2792 (false positive: Member variable 'class::m_val' is not assigned a value in 'class::operator=') 2011-05-17 seb777 * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #2786 2011-05-22 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2798 (False positive: Invalid iterator check doesn't respect code paths) 2011-05-22 Greg Hewgill * cli/threadexecutor.cpp: Allow suppression of the 'cppcheckError' error reported by the threaded CLI executor. This is related to commit 5bbf39d094efccadfd9a927c5f7052cde541e730. 2011-05-19 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2790 (Incorrect allocation mismatch error) 2011-05-19 Stefan Weil * lib/executionpath.cpp: executionpath: fix memory leak 2011-05-19 Daniel Marjamäki * CMakeLists.txt, cli/CMakeLists.txt, cmake/modules/FindPCRE.cmake, gui/CMakeLists.txt, lib/CMakeLists.txt, lib/library_sources.cmake, test/CMakeLists.txt: cmake: cleanup unmaintained cmake files 2011-05-19 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2737 ((error) Analysis failed. If the code is valid then please report this failure.) 2011-05-18 WenChung Chiu * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #2784 (Pointer issue: *&f=open()) 2011-05-15 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Don't report that there are missing system includes unless --debug-warnings has been given. 2011-05-13 Kimmo Varis * gui/logview.cpp, gui/logview.h, gui/mainwindow.cpp: GUI: Simplify settings usage in Log window. 2011-05-13 Kimmo Varis * gui/mainwindow.cpp, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Simplify settings handling in Preferences dialog. 2011-05-13 Kimmo Varis * gui/common.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Make Project-dialog to remember its size. 2011-05-13 Kimmo Varis * gui/main.cpp: GUI: Initialize Settings in main. Setting organization and program name in main() allows us to cleanup Settings class usage. As we don't need to keep using the one instance of Settings but can create new Settings class whenever we need to access settings. According to the Qt documentation creating Settings class is fast. 2011-05-13 Kimmo Varis * gui/projectfile.ui: GUI: Show main tab in project file dialog by default. 2011-05-13 Kimmo Varis * gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Set initial path for adding paths to project. Use project file's location as base path when adding new paths (checked, included or ignored) to the project. In most cases user wants to add paths in the same project so this reduces browsing paths considerably when adding them. 2011-05-12 Kimmo Varis * gui/mainwindow.cpp: GUI: Remove trailing spaces from translated strings 2011-05-12 Kimmo Varis * gui/projectfile.txt: GUI: Update project file documentation. Remove mentioning of automatic loading which was disabled in previous commit. 2011-05-12 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Remove automatic/silent loading of projects. When project files support was added to the GUI there was no GUI for them and automatic/silent loading was added. So that if the directory contained project file with the same name (and .cppcheck extension) then the project file was automatically loaded and used for the checking. This can be very confusing for the user as there is no any indication that the project file is used. But this solution was necessary at that time to get project file support added. Now that we have usable GUI for the project files this automatic/ silent loading can be removed. Nobody really should be using it anymore. And even if the automatic loading is needed one can give the project file for the GUI using command line parameter. 2011-05-12 Kimmo Varis * gui/gui.cppcheck: GUI: Fix the gui.cppcheck to work with GUI. The project file to check just GUI code was missing the directory to check. This is probably due it was used originally as "automatically" loaded project file which assumed current directory is checked and only added some additional parameters. 2011-05-12 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Handle non-existing projects in MRU list. If the project file in MRU list does not exist ask user if one wants to remove the file from the list. If user agrees then the file is removed from the list. Otherwise the file is left to the list but not tried to open. User may have accidentally moved or renamed the file so we give a possibility to add it back and not just blindly removing it from the list. 2011-05-12 Kimmo Varis * gui/mainwindow.h: GUI: Remove unneeded forward declaration. 2011-05-12 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add most recently used projects to menu. Add MRU items for project files to File-menu. When user creates a new project file or opens existing project file it is added to the list of recently used projects. Last 5 projects are remembered and available for quick acess in the File-menu. 2011-05-11 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2782 (Segfault with #asm) 2011-05-11 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2780 (false positive: variable p is not assigned a value 'int p[2]; *p = 0;') 2011-05-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #2783 (Improve check: struct member leaks when analysing c file) 2011-05-08 Robert Reif * lib/checkother.cpp, test/testother.cpp: #2700 (common logic or cut and paste errors) make duplicate branches inclnclusive 2011-05-07 Daniel Marjamäki * lib/tokenize.cpp: added comment about how bad typedef behaviour can be reproduced 2011-05-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2743 (segmentation fault of cppcheck 'std::vector v1 = a, v2 = b;') 2011-05-07 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1684 (false positive: buffer access out of bounds when using extern variable declaration) 2011-05-06 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix #2765 (Non local address detected as address of local auto-variable) 2011-05-06 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix regression #1819 (False positive: auto variable assignment (unseen typedef)) 2011-05-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp, test/testunusedvar.cpp: Fixed #2770 (False positives (scope can be reduced / variable is assigned value that is never used)) 2011-05-05 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2764 (False positive: Uninitialized variable '&(x[0])') 2011-05-05 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Reverted fix for string::size. Ticket: #2756 2011-05-04 Kimmo Varis * win_installer/readme.txt: Installer: small update to installer doc. 2011-05-04 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Remove unneeded Qt DLLs. Since we now have on-line help we don't need to install the DLLs that were required for the help viewer. 2011-05-04 Kimmo Varis * test/testcmdlineparser.cpp: Add test for --check-config. 2011-05-04 Kimmo Varis * test/testcmdlineparser.cpp: Make "failing" cmdlineparser tests todo-tests. 2011-05-04 Daniel Marjamaki * cli/cppcheckexecutor.cpp: updated error message. --check-includes has been renamed to --check-config 2011-05-03 Zachary Blair * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Fixed #2758 ([GUI] Provide a means to filter results based on a search string) 2011-05-03 Greg Hewgill * test/testsuppressions.cpp: Fix testsuppressions for Windows builds for now, pending further refactoring 2011-05-03 Greg Hewgill * Makefile, test/test.pro, test/testsuppressions.cpp: Revert "Remove the testsuppressions because it doesn't contain any unit tests. A testsuppressions would be nice if it was more specific. Ticket: #2748" This reverts commit 6bf5eb67be05d3768158505fb375fad12b8488cf. 2011-05-03 Greg Hewgill * test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Revert "TestSuppressions: Updated Visual Studio project files" This reverts commit 8ec570837a77e2e15f48f0235211d52ddf12de9f. 2011-05-02 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #1982 (simplifyTypedef: scope info is lost) 2011-05-02 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h: renamed --check-includes to --check-config 2011-05-02 seb777 * cli/cmdlineparser.cpp: add include-header to use EXIT_FAILURE 2011-05-02 seb777 * : commit d7927bbb614378f9b4f173bd992ae879fc7f7c8d Author: Daniel Marjamäki Date: Mon May 2 18:49:40 2011 +0200 2011-05-02 Daniel Marjamäki * test/testsimplifytokens.cpp: astyle formatting 2011-05-02 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h: Missing includes - normally just report that there are missing includes. The --check-includes can then be used to check what missing includes there are. Ticket: #2719 2011-05-02 Daniel Marjamäki * lib/preprocessor.cpp: reverted 761dd419 - reporting excessive missing include messages 2011-05-01 Daniel Marjamaki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2721 (Tokenizer::simplifyTemplates: fail when using template argument 'char[2]') 2011-05-01 Daniel Marjamaki * test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: TestSuppressions: Updated Visual Studio project files 2011-05-01 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #2719 (Fix excessive false positives in include-file handling) 2011-05-01 Ville Skyttä * cli/cmdlineparser.cpp: cmdlineparser: Update list of file extensions, expand EXIT_FAILURE, don't list --rule* if built without support for rules. Ticket: #2761 2011-05-01 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Moved a few basic simplifications from simplifyTokenList to tokenize 2011-05-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2760 (false positive: uninitialized variable ', (a) =') 2011-05-01 Daniel Marjamäki * Makefile: Makefile: updated with dmake 2011-05-01 Daniel Marjamäki * test/testtokenize.cpp: TestTokenizer: code cleanup 2011-04-30 Daniel Marjamäki * Makefile, test/test.pro, test/testsuppressions.cpp: Remove the testsuppressions because it doesn't contain any unit tests. A testsuppressions would be nice if it was more specific. Ticket: #2748 2011-04-29 Daniel Marjamäki * lib/tokenize.cpp: Fixed #2755 (cppcheck goes into infinite loop while scanning OpenSSL sources) 2011-04-29 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix tokenizer bug where 'class B : private ::A { };' was tokenized to 'class B : private: : A { } ;' 2011-04-28 Robert Reif * test/testclass.cpp, test/testsymboldatabase.cpp: move symbol database tests to testsymboldatabase.cpp 2011-04-28 Robert Reif * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: fix debug warning for function parameters with template with varid of 0 2011-04-28 Robert Reif * lib/checkstl.cpp, test/teststl.cpp: fix 2011-04-28 Kimmo Varis * gui/gui.pro: GUI: Remove dependency to QtXml. 2011-04-27 Kimmo Varis * Makefile, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/threadresult.cpp, gui/threadresult.h, lib/errorlogger.h, test/testother.cpp, test/testsuppressions.cpp, test/testthreadexecutor.cpp, tools/dmake.cpp: Remove ErrorLogger::reportStatus() method. The ErrorLogger::reportStatus() is not lib code interface. The CLI code does the looping through file list and gives one file at a time for the core code. Hence lib has no any idea about the progress and it can't provide such information. Also the recent commit (6d858b6) caused a GUI build failure by adding CLI code dependency to GUI. Which is big no-no. This is admittedly a hack. But it allow us to build all modules again. 2011-04-27 Markus Elfring * gui/CMakeLists.txt: Deletion of references to modules "QtHelp" and "QtXml" in the GUI CMake script Two Qt modules are not needed any more in the CMake script for the graphical user interface after the commit "GUI: Open online-help instead of local help". https://github.com/danmar/cppcheck/commit/3965a08b7b9de4b4b79b18513b7e5222d4fa3cd7#commitSigned-off-by: Markus Elfring 2011-04-27 Daniel Marjamäki * lib/path.cpp: astyle formatting 2011-04-27 Daniel Marjamäki * test/test.pro: Fixed #2749 (Different test count using Makefile and QtCreator project) 2011-04-27 Daniel Marjamäki * tools/dmake.cpp: dmake: fixed compiler error 2011-04-27 Greg Hewgill * lib/preprocessor.cpp: Use tolowerWrapper wherever appropriate 2011-04-27 Greg Hewgill * lib/path.cpp: Portability: Raise an error if a platform-specific filename compare function is not specified 2011-04-26 Robert Reif * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: fix spelling of initialized in checkclass messages 2011-04-26 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: fix false positive introduced in CheckAutoVariables::autoVariables conversion to use symbol database 2011-04-27 Greg Hewgill * cli/filelister.cpp, test/testfilelister.cpp: FileLister: don't assume that all files have nonzero size in test case 2011-04-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2753 (False negative: dereference uninitialized pointer 'buf[0] = 0;') 2011-04-19 Greg Hewgill * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/filelister.cpp, cli/filelister.h, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/threadresult.cpp, gui/threadresult.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.h, test/testcppcheck.cpp, test/testfilelister.cpp, test/testother.cpp, test/testsuite.h, test/testsuppressions.cpp, test/testthreadexecutor.cpp: Report percentage complete based on file size This patch makes the (reasonable) assumption that the total size of all checked files fits in a 'long' type. 2011-04-25 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2722 (new check: statement that is always true (strcmp)) 2011-04-26 Tim Gerundt * htdocs/.htaccess: Web: Set correct MIME type for favicon 2011-04-26 Tim Gerundt * htdocs/.htaccess: Web: Add compression for HTML, CSS and JavaScript files 2011-04-25 Kimmo Varis * : commit 7d00d47404dfc7f791de7bf9717c26c3b837a690 Author: Kimmo Varis Date: Sun Apr 24 23:41:24 2011 +0300 2011-04-24 Kimmo Varis * test/test.pro: Remove outdated comment from tests.pro. 2011-04-24 Kimmo Varis * test/test.pro: Add suppressions tests to qmake project. 2011-04-24 Kimmo Varis * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, gui/checkthread.cpp, lib/cppcheck.cpp, lib/cppcheck.h, test/testsuppressions.cpp: Modify the Cppcheck class to check one file at a time. Unify usage and API of CppCheck class. Allow only one file checked at a time, instead of list of files. Clients can then handle file lists more naturally and as they see fit. Also clients have better knowledge of how checking status should be handled. The single-threaded CLI checking was only one using the file list. Other clients were giving files (to list) one file at a time. 2011-04-23 Kimmo Varis * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h: CLI: Give files to Cppcheck class one at a time. When doing single-threaded checking give checked files to Cppcheck class one file at a time. Like GUI and multithreaded checking already do. This unifies how we call Cppcheck class from different clients. 2011-04-23 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2745 (Enum vs local variable - conflict) 2011-04-23 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2746 (false positive: syntax error (typedef in __attribute__ ))) 2011-04-23 Robert Reif * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: convert last check in checkautovariables to use the symbol database 2011-04-23 Robert Reif * : commit cd64d8476ce61e50474ed991cd532eee222ccb9b Author: Robert Reif Date: Sat Apr 23 09:37:50 2011 -0400 2011-04-23 Daniel Marjamäki * readme.txt: readme: added a little info about compiling without pcre 2011-04-22 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: don't debug warn about class function definitions without body having missing varid on function parameters 2011-04-22 Robert Reif * test/testtokenize.cpp: add another test case for #2614 (missing varid on function parameter) 2011-04-22 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2740 (inline cmd // cppcheck-suppress does not work anymore for 1.48) 2011-04-23 Greg Hewgill * lib/checkclass.cpp, lib/symboldatabase.cpp, test/testclass.cpp: Change symbol database such that the typestart token skips over type modifiers (const/static/mutable). This fixes checking for the case of a memset() on a static variable. 2011-04-22 Tim Gerundt * : Change dialog bitmap from windows installer 2011-04-23 Greg Hewgill * tools/dmake.cpp: Makefile: handle case where LDFLAGS is already defined (in dmake) 2011-04-22 Tim Gerundt * htdocs/devinfo/index.php, htdocs/index.php, htdocs/site/css/all.css: Web: Use Orbitron font for page head 2011-04-22 Greg Hewgill * Makefile: Makefile: handle case where LDFLAGS is already defined 2011-04-20 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2738 (syntax error on valid code) 2011-04-20 Robert Reif * lib/checkclass.cpp: run astyle 2011-04-20 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Virtual destructors: Enabled the check again. I think it is conclusive now. Ticket: #2728 2011-04-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Fixed TODO test case. Ticket: #2733 2011-04-20 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2736 (segmentation fault of cppcheck) 2011-04-20 Daniel Marjamäki * lib/checkother.cpp, test/testmemleak.cpp: astyle formatting 2011-04-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2733 (Memory leak: not all branch are checked) 2011-04-20 Daniel Marjamäki * lib/checkother.cpp: const parameter: Added comment to reduce false negatives for various classes in the std namespace 2011-04-19 Daniel Marjamäki * Makefile, readme.txt, tools/dmake.cpp: Makefile: added option for compiling with/without rules 2011-04-19 Daniel Marjamäki * test/testmemleak.cpp: astyle formatting 2011-04-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2734 (False positive: reports 'should be passed by reference' for std::streamoff) 2011-04-19 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2733 added sizeof to checkmemory-leaks white list, added a todo-testcase 2011-04-18 Robert Reif * lib/checkother.cpp, test/testother.cpp: fix #2730 (The same expression on both sides of != is OK when checking for NaN) 2011-04-18 Robert Reif * test/testtokenize.cpp: fix previous patch: test for #2614 (missing varid on function parameter) 2011-04-18 Robert Reif * test/testtokenize.cpp: add test for #2614 (missing varid on function parameter) 2011-04-18 Martin Exner * lib/preprocessor.cpp, lib/token.cpp, lib/tokenize.cpp, test/testautovariables.cpp: Fixed #2676 (setVarId: variables with global scope qualification :: don't get varids) 2011-04-17 Tim Gerundt * htdocs/index.php: Web: Add link to Jenkins plugin 2011-04-16 Kimmo Varis * gui/settings.ui: GUI: Move internal error option to Advanced-tab. 2011-04-16 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-04-16 Kimmo Varis * gui/common.h, gui/erroritem.cpp, gui/mainwindow.cpp, gui/settings.ui, gui/settingsdialog.cpp: GUI: Add option for enabling inconclusive checks. Add new "Advanced" page to preferences-dialog and add there a checkbox for enabling inconclusive checks. Now that checkbox is the only control in that new page but there will be more controls later on. 2011-04-16 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Fixed bug. When varid is 0 then %varid% doesn't work. Ticket: #2723 2011-04-16 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2716 (Easy to reproduce crash) 2011-04-16 Daniel Marjamäki * lib/errorlogger.cpp, test/testerrorlogger.cpp: ErrorLogger: Refactoring/fixing the serializer/deserializer for inconclusive messages 2011-04-16 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp, gui/threadresult.cpp, gui/txtreport.cpp, gui/xmlreportv1.cpp, gui/xmlreportv2.cpp: GUI: Add support for inconclusive errors. This is the first (and quick) support for the inconclusive errors. We simply add [Inconclusive] to begin of the summary. This is temporary solution until better GUI is implemented. XML v1 won't be supporting inconclusive errors. For XML v2 we need still to decide what to do. 2011-04-16 Daniel Marjamäki * cli/cppcheckexecutor.cpp: astyle formatting 2011-04-16 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testother.cpp, test/testsimplifytokens.cpp: Fixed #2713 (False positive (Redundant assignment)) 2011-04-16 Stefan Weil * htmlreport/cppcheck-htmlreport: html report: better handling of non ASCII characters in C source code 2011-04-16 Stefan Weil * cli/cppcheckexecutor.cpp: CppcheckExecutor: Code cleanups and fixes 2011-04-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2720 (false positive: syntax error with c++0x code) 2011-04-14 Daniel Marjamäki * cli/threadexecutor.cpp, lib/check.h, lib/checkmemoryleak.cpp, lib/checkunusedfunctions.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/symboldatabase.cpp, lib/token.cpp, lib/tokenize.cpp, test/testerrorlogger.cpp: Inconclusive checking: Report inconclusive errors with reportInconclusiveError. It takes the same parameters as reportError. 2011-04-14 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2714 (False positive: ternary operator and += style warning.) 2011-04-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2718 (Analysis failed. If the code is valid then please report this failure.) 2011-04-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2717 (false positive: syntax error (typedef void f(int) const;)) 2011-04-13 Robert Reif * lib/errorlogger.h, test/testerrorlogger.cpp, test/testsimplifytokens.cpp: run astyle 2011-04-11 Reijo Tomperi * Makefile, tools/dmake.cpp: "#ifndef" can't be used in Makefile (it is considered a commented line). Replaced it with "ifndef". 2011-04-11 Daniel Marjamäki * createrelease: createrelease: minor updates 2011-04-10 Daniel Marjamäki * lib/cppcheck.cpp, lib/errorlogger.cpp, test/testerrorlogger.cpp: inconclusive: don't report such messages in xml version 1 format. until we decide how they will be reported in xml version 2 format I don't report it. 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2712 (false positive: Division by zero) 2011-04-10 Tim Gerundt * htdocs/index.php: Web: Update download to version 1.48 2011-04-10 Daniel Marjamäki * lib/errorlogger.h: ErrorLogger: Added severities for inconclusive error and inconclusive warning 2011-04-10 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: add check for same expression on both sides of an operator (part of #2700) 2011-04-10 Robert Reif * : commit 4a50aca7b2ba92a22c1115dccb04f1c14910b97c Author: Robert Reif Date: Sun Apr 10 09:57:09 2011 -0400 2011-04-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testmemleak.cpp, test/testother.cpp: Renamed Settings::stupid to Settings::experimental 2011-04-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testmemleak.cpp, test/testother.cpp: Added Settings::stupid flag that can be used to hide checking that generates false positives. 2011-04-10 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/settings.h: --inconclusive : Added command line flag that enable inconclusive checking. It is added for experimental purposes. 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Code cleanup. Use %oror% to simplify code. 2011-04-10 Daniel Marjamäki * lib/checkother.cpp: CheckOther: Code cleanup. Use %oror% 2011-04-10 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Use %oror% in multiCompare pattern 2011-04-10 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Use %oror% in multiCompare pattern 2011-04-10 Daniel Marjamäki * lib/checkother.cpp: CheckOther: Use %op% in CheckUnsignedDivision 2011-04-10 Daniel Marjamäki * lib/checkuninitvar.cpp: CheckUninitVar: Use %op% 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Use %op% in simplifyOperatorName 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Use %op% in simplifyCalculations 2011-04-10 Daniel Marjamäki * test/testtoken.cpp: Token: Added testcase for matching of %op% 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Use %op% to clean up pattern 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Code cleanup. Removed redundant variable 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Fixed bug in last commit 2011-04-10 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Use the %oror% in multiCompare patterns 2011-04-10 Daniel Marjamäki * lib/token.cpp, test/testtoken.cpp: Token::Match : Allow that %oror% and %or% is used in multiCompare patterns 2011-04-09 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: partial fix for #2700 (common logic or cut and paste errors) 2011-04-09 Robert Reif * lib/checkother.cpp, test/testother.cpp: fix bug in previous commit: fix #311 (add detection of duplicated if else-cases) 2011-04-09 Robert Reif * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #311 (add detection of duplicated if else-cases) 2011-04-09 Robert Reif * lib/checkclass.cpp, lib/token.h: Refactoring: add Token::isAssignmentOp and use it in CheckClass::checkConstFunc 2011-04-09 Daniel Marjamäki * lib/checkother.cpp: Refactoring: Use Token::isArithmeticalOp instead of hardcoded conditions 2011-04-09 Daniel Marjamäki * lib/checkmemoryleak.cpp: Refactoring: Use %op% instead of Token::isOp 2011-04-09 Daniel Marjamäki * lib/checknullpointer.cpp: Refactoring: Use %op% 2011-04-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Refactoring: Use %op% instead of Token::isOp in CheckBufferOverrun 2011-04-09 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: Use %op% 2011-04-09 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Refactoring: Use %op% 2011-04-09 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: Use %op% 2011-04-09 Daniel Marjamäki * lib/token.cpp, lib/tokenize.cpp, test/testtoken.cpp: Token::multiCompare : allow that %op% is used in multiCompare pattern 2011-04-09 Daniel Marjamäki * lib/token.h, lib/tokenize.cpp: Refactoring: Use Token::isOp 2011-04-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/token.h, lib/tokenize.cpp, test/testsimplifytokens.cpp: Refactoring: Use Token::isOp 2011-04-09 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2011-04-09 Daniel Marjamäki * Makefile: Release: Updated Makefile for release 2011-04-09 Daniel Marjamäki * Changelog: Release: Updated the Changelog 2011-04-09 Daniel Marjamäki * test/testfilelister.cpp: TestFileLister: astyle formatting and removed commented debug code 2011-04-09 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: Release: Updated versions to 1.48 2011-04-09 Daniel Marjamäki * lib/token.h: Fixed cppcheck warnings: Removed extra 'Token::' from statement 2011-04-08 Daniel Marjamäki * lib/checkother.cpp, lib/token.h, lib/tokenize.cpp: Refactoring: there was almost duplicate functions 'isOp'. Created a new Token::isOp function instead. 2011-04-08 Robert Reif * test/testclass.cpp: added tests for #2710 (False negative on uninitialized member variable in a ctor.) 2011-04-07 Daniel Marjamaki * test/testfilelister.cpp: Fixed TestFileLister tests in windows 2011-04-07 Daniel Marjamäki * Makefile, test/CMakeLists.txt, test/test.pro, test/testfilelister.cpp, test/testfilelister_unix.cpp: Fixed #2684 (TestFileLister test assumes there are source files in the same directory) 2011-04-07 Markus Elfring * : commit fbc8223a6b32935e2001d688756600829baaec10 Author: Daniel Marjamaki Date: Thu Apr 7 16:53:42 2011 +0200 2011-04-07 Kimmo Varis * gui/main.cpp: GUI: Print command line help with -h and --help. 2011-04-07 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Allow giving project file to command line. GUI now recognizes -p command line parameter. When given (with path to valid project file) GUI automatically loads the project file and starts checking paths in it. Ticket: #2613 (GUI: Should accept project file from command line) 2011-04-07 Kimmo Varis * test/test.vcproj: Fix test VS2008 project file attributes. 2011-04-07 Stefan Weil * lib/checkobsoletefunctions.h, test/testobsoletefunctions.cpp: Obsolete functions: Fix messages for gethostbyaddr, gethostbyname 2011-04-06 Daniel Marjamäki * lib/preprocessor.cpp: fixed gcc compiler warning 2011-04-06 Daniel Marjamäki * : commit 1907590303a7e67c73c94bf092d7f19c12ec3dfc Author: Kimmo Varis Date: Wed Apr 6 21:34:11 2011 +0300 2011-04-06 Daniel Marjamaki * lib/preprocessor.cpp: Preprocessor: Use Settings::debugwarnings instead of NDEBUG to determine if 'missing system include' should be reported or not 2011-04-06 Markus Elfring * gui/CMakeLists.txt: Addition of Spanish translation in the GUI CMake script A file name was added to the GUI CMake script for the Spanish translation. Signed-off-by: Markus Elfring 2011-04-06 Markus Elfring * cli/CMakeLists.txt: Conditional inclusion of TinyXML source files in the CLI CMake script (bug #2679, #2524) The source files for the class library "TinyXML" will only be included into the build of the command line interface if the library "PCRE" was found before. Signed-off-by: Markus Elfring 2011-04-06 Kimmo Varis * gui/gui.pro: GUI: Sort language files in project file. 2011-04-06 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_es.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. Adding new Spanish translation added one new translatable string and changed linenumbers in one file. 2011-04-06 Lauri Nurmi * gui/gui.pro, gui/translationhandler.cpp: GUI: Add Spanish translation. Patch to add loading Spanish translation to GUI. Ticket #2545 (cppcheck translated in spanish language) 2011-04-06 Kimmo Varis * gui/cppcheck_es.ts: GUI: Add Spanish translation. Add Spanish GUI translation contributed by qcondor@users.sourceforge.net. Ticket #2545 (cppcheck translated in spanish language) 2011-04-06 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts: GUI: update translation files. 2011-04-05 Daniel Marjamaki * gui/cppcheck_sv.ts: gui: removed obsolete strings in the swedish translation 2011-04-05 Daniel Marjamaki * gui/cppcheck_sv.ts: gui: updated swedish translations 2011-04-04 Robert Reif * test/testmemleak.cpp: run astyle 2011-04-04 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2706 (Analysis failed. If the code is valid then please report this failure.) 2011-04-04 Ettl Martin * test/testmemleak.cpp: Added todo testcase for ticket #2705 2011-04-04 Kimmo Varis * gui/mainwindow.cpp: GUI: Improve the error message for language loading error. 2011-04-04 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: clarify calculation: fixed false negative for 'int x = a - b ? 2 : 3' 2011-04-04 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Buffer overrun: broke out duplicate code 2011-04-04 Kimmo Varis * gui/gui.pro: GUI: Project file cleanup. 2011-04-04 Kimmo Varis * gui/applicationlist.cpp: GUI: Don't show error when no application added. I earlier added a check for missing (editor) application command line parameters. If parameters are missing at GUI startup an message is shown to user to check the settings. Unfortunately my check was incomplete and it also triggered when there was no applications defined. Which happens when user starts GUI for a first time. Fix the check so that user is only informed in case the parameters are missing and name + path are set. 2011-04-04 Kimmo Varis * gui/application.ui, gui/applicationdialog.cpp: GUI: Improve the Application dialog layoyt. In GNOME the whole big text area was not shown without making the dialog bigger. So improve the layout for better scaling and adjust dialog size when it gets initialized. 2011-04-04 Kimmo Varis * gui/applicationdialog.cpp: GUI: Fix setting application path as name. The application dialog initialized name field with path. 2011-04-03 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Clarify calculation: Added warnings for << and >> 2011-04-03 Daniel Marjamäki * lib/checknullpointer.cpp: Null pointer: cleanup the code. Ticket: #2642 2011-04-03 Martin Exner * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2696 (False positive nullpointer) 2011-04-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: execute the simplifyIfNot and simplifyIfNotNull in the normal token list. ticket #2642 2011-04-02 Kimmo Varis * gui/gui.pro: GUI: Fix gui.pro EOL style. 2011-04-02 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: clarify precedence: made the short message shorter 2011-04-02 Kimmo Varis * gui/CMakeLists.txt: GUI: Add new files to CMake build file. 2011-04-02 Kimmo Varis * gui/applicationdialog.cpp, gui/applicationdialog.h, gui/settingsdialog.cpp: GUI: Modify ApplicationDialog to get/return Application class. 2011-04-02 Kimmo Varis * gui/application.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/resultstree.cpp, gui/settingsdialog.cpp: GUI: Refactoring application definition. Using Application class as method parameters instead of separate application attributes. 2011-04-02 Kimmo Varis * gui/application.cpp, gui/application.h, gui/applicationlist.cpp, gui/gui.pro: GUI: Improving application handling code. Only allow access to Application's attributes through accessor methods. 2011-04-02 Kimmo Varis * gui/application.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/gui.pro: GUI: Move application definition to own header file. 2011-04-02 Daniel Marjamäki * CMakeLists.txt: cmake: reduced message a little 2011-04-02 Daniel Marjamäki * : Merge commit 'elfring/2679d' 2011-04-02 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyCalculations: simplify division result if it's a whole number, even though it doesn't have precedence 2011-04-02 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Clarify precedence 'a*b?c:d' : warn for addition, subtraction and division also. tried to clarify the message more 2011-04-02 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-04-02 Kimmo Varis * gui/applicationdialog.cpp, gui/resultstree.cpp: GUI: Simplify handling applications with spaces in paths. Earlier user had to add quotation marks around application executable path in application dialog. Because we could not determine which part is path and which part is parameters. As we now have separate variables we can automatically add the quotation marks when needed before starting the application. This reduces the confusion users have had about the correct formatting of paths. 2011-04-02 Kimmo Varis * gui/application.ui: GUI: Update/fix application dialog texts. I forgot to update the dialog texts when adding the parameters field. 2011-04-02 Kimmo Varis * gui/application.ui: GUI: Add accel keys for application dialog and fix tab order. 2011-04-02 Kimmo Varis * gui/application.ui, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/common.h, gui/mainwindow.cpp, gui/resultstree.cpp, gui/settingsdialog.cpp: GUI: Have separate setting for editor app path and params. Currently combined editor application path + params is a bit problematic (at least in Windows). We really don't know where the app path ends and parameters start. So proper quoting is not always possible. And application path and command line parameters are clearly different settings anyway. So make them separate settings. It has bunch of other positive sides too. Like one can now browse new path for the application without loosing the parameters. When starting Cppcheck version with these new settings user is warned that loading settings had problems and asked to check and fix the settings. 2011-04-02 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: better simplification of calculations in conditions 2011-03-31 Robert Reif * lib/symboldatabase.cpp: symbol database: add support for anonymous struct and union 2011-03-31 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: change CheckClass::operatorEqToSelf to make better use of the symbol database 2011-03-31 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: fix CheckClass::operatorEq to check return type more closely (to match check description) 2011-03-31 Daniel Marjamäki * lib/preprocessor.h, lib/settings.h: fixed doxygen warnings about undocumented function parameters 2011-03-30 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: symbol database: improve function argument count and default argument count 2011-03-30 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: symbol database: get function argument count using argument list size rather than counting commas 2011-03-30 Daniel Marjamäki * lib/checkother.cpp, test/testincompletestatement.cpp: Fixed #2655 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant) 2011-03-30 Lieven de Cock * lib/path.cpp: Improve/cleanup Path::removeQuotationMarks(). 2011-03-30 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2693 (__declspec attribute not removed properly) 2011-03-30 Stefan Weil * lib/checkbufferoverrun.cpp, lib/checknullpointer.cpp, lib/checkstl.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Spell checks 2011-03-30 Stefan Weil * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Spell checks 2011-03-29 Robert Reif * lib/symboldatabase.cpp: symbol database: handle default values for function arguments properly 2011-03-29 Robert Reif * lib/symboldatabase.cpp: add support for array of unnamed struct and union to symbol database 2011-03-29 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Simplify ignore paths. Fixes #2656 (-i Give path to ignore does not ignore if start of the path is different than checked path) Simplify paths given as -i options. This makes it easier to match the paths as simplifying removes redundant parts. 2011-03-29 Kimmo Varis * lib/path.cpp, test/testpath.cpp: Remove './' at begin of path in Path::simplifyPath. The './' is not needed at begin of path for files we check. And it only makes paths longer. This also makes it easier to match paths. 2011-03-29 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2695 (False positive: null pointer dereference and ternary operator (?:)) 2011-03-29 Robert Reif * lib/symboldatabase.cpp: more support for anonymous struct to symbol database 2011-03-29 Robert Reif * lib/symboldatabase.cpp: add support for anonymous struct to symbol database 2011-03-28 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2692 (False positive: if parsed as function in operator >>) 2011-03-28 Robert Reif * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: add support for checking struct/class member container in CheckStl::size() 2011-03-28 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Remove quotation marks from user-given paths. Ticket #2686 (regression/bug in path handling) There are situations that paths given to command line can contain quotation marks. In normal situations shell removes them. For these cases they don't get removed add code to check paths from quotation marks and remove them. 2011-03-28 Kimmo Varis * lib/path.cpp, lib/path.h, test/testpath.cpp: Add Path::removeQuotationMarks() to clean path. 2011-03-28 Daniel Marjamäki * test/testnullpointer.cpp: Null pointer: Added TODO test case for ticket #2681 2011-03-28 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: prefer longer error message that says 'otherwise condition at line X is redundant' 2011-03-28 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: prefer longer error message that says 'otherwise condition at line X is redundant' 2011-03-28 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2691 (False positive: struct dereference and check (switch-break)) 2011-03-28 Markus Elfring * gui/CMakeLists.txt: Deletion of "htmlhelp" from link setting in a CMake script (bug #2524, #1957) The library "htmlhelp" is not needed by the graphical user interface at the moment. https://github.com/danmar/cppcheck/commit/2fea5f01d6b8af92a4739eb6bef29fd7044c27c3#gui/gui.proThere are difficulties to fulfil this dependency. Signed-off-by: Markus Elfring 2011-03-27 Robert Reif * lib/symboldatabase.cpp, test/testconstructors.cpp: skip nested anonymous unions when searching for variables in symbol database 2011-03-27 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2689 (False positive: Possible null pointer dereference) 2011-03-27 Robert Reif * lib/checkclass.cpp: output a debug message when a member variable is used that has a varid of 0 2011-03-27 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: make member variable change detection simpler and more accurate for CheckClass::checkConst 2011-03-27 Robert Reif * lib/symboldatabase.cpp: add anonymous union support to the symbol database 2011-03-27 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2674 (False positive: possible null pointer dereference (check if pointer is null in one function, dereference it in another function)) 2011-03-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2660 (False positive: Variable 'v' is assigned a value that is never used) 2011-03-26 Markus Elfring * : Synchronisation of CMake build files with master branch (bug #2524) * 2524d: Renaming of the file for the Swedish translation in a CMake script (bug #2524) Renaming of the GUI executable to "cppcheck-gui" in a CMake script (bug #2524) Addition of a file name in a CMake script (bug #2524, #1690) 2011-03-26 Markus Elfring * gui/CMakeLists.txt: Renaming of the GUI executable to "cppcheck-gui" in a CMake script (bug #2524) The executable file for the graphical user interface was renamed in a CMake script to synchronise this setting with the qmake build specification. https://github.com/danmar/cppcheck/commit/b88ce77e4ac85d1b32981c63cb5c538e9740b6e9#gui/gui.proSigned-off-by: Markus Elfring 2011-03-26 Markus Elfring * test/CMakeLists.txt: Addition of a file name in a CMake script (bug #2524, #1690) A few source files were added because of the feature request "Ability to exclude files and directories from checks". https://github.com/danmar/cppcheck/commit/6401271ceb85ff93a697b2c09fb4765a560fb7a3A CMake build script was updated for these changes. Signed-off-by: Markus Elfring 2011-03-26 Daniel Marjamäki * createrelease: createrelease: generate manual.html. ticket: #2687 2011-03-26 Kimmo Varis * gui/mainwindow.cpp: GUI: Update online-help to open the HTML manual. 2011-03-26 Daniel Marjamaki * cli/CMakeLists.txt, gui/CMakeLists.txt, test/CMakeLists.txt: cmake: removed the non-working pcre. ticket: #2679 2011-03-26 Kimmo Varis * cli/cppcheckexecutor.cpp: Ticket #2688 (Missing include path shouldn't exit the program) Non-existing include path is not a fatal problem requiring exiting the program. Instead we just print a warning and remove the non- existing include path from the list. 2011-03-26 Kimmo Varis * gui/CMakeLists.txt: GUI: Remove help viewer files from CMake build. 2011-03-26 Kimmo Varis * win_installer/cppcheck.wxs: Installer: don't install local help file. 2011-03-26 Kimmo Varis * gui/gui.pro, gui/helpwindow.cpp, gui/helpwindow.h, gui/helpwindow.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Open online-help instead of local help. Local help does not currently work (ticket #2316) and building it is a bit painful in Windows. Hence it was decided on ticket #2677 and at IRC that we open on-line help from GUI until the local help issue is solved. 2011-03-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2653 (segmentation fault of cppcheck 'x=b=0;') 2011-03-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId: Prevent that wrong varid is given when uncertain. Ticket: #2680 2011-03-26 Daniel Marjamäki * lib/CMakeLists.txt: CMake: There is no need for PCRE when building the lib 2011-03-26 Daniel Marjamäki * CMake/xmlto.cmake: Removed the CMake/xmlto.cmake file 2011-03-26 Daniel Marjamäki * CMakeLists.txt, cmake/modules/FindXmlTo.cmake, man/CMakeLists.txt: Fixed #2677 (XmlTo is now required for building?) 2011-03-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2680 (setVarId: variables with class qualification don't get varid) 2011-03-25 Robert Reif * lib/checkclass.cpp: only break when we know we are inc/dec a member variable in CheckClass::checkConstFunc 2011-03-25 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: better checking of assignment to array element in CheckClass::checkConstFunc 2011-03-25 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: add support to CheckClass::checkConstFunc for ++/-- array elements 2011-03-25 Robert Reif * lib/checkclass.cpp: move 2 CheckClass helper functions to follow externally called functions so code matches comments 2011-03-26 Sebastien Debrard * cli/CMakeLists.txt, gui/CMakeLists.txt, test/CMakeLists.txt: sync cmake files with the master branch 2011-03-25 Daniel Marjamäki * man/CMakeLists.txt: CMake: Skip xmlto dependency. Ticket: #2677 2011-03-25 Robert Reif * test/testclass.cpp: add some missing ; at end of class and struct definitions in checkclass tests 2011-03-25 Daniel Marjamäki * cli/cli.pro, cli/cppcheck.vcproj, cli/cppcheck.vcxproj, test/test.pro, test/test.vcproj, test/test.vcxproj, test/testcppcheck.cpp, tools/dmake.cpp: Reverted non-CMake changes in previous 'Added CMake files' commit 2011-03-25 Markus Elfring * CMake/xmlto.cmake, CMakeLists.txt, cli/CMakeLists.txt, cli/cli.pro, cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cmake/modules/FindPCRE.cmake, cmake/modules/FindXmlTo.cmake, gui/CMakeLists.txt, lib/CMakeLists.txt, lib/library_sources.cmake, man/CMakeLists.txt, test/CMakeLists.txt, test/test.pro, test/test.vcproj, test/test.vcxproj, test/testcppcheck.cpp, tools/dmake.cpp: Added CMake files 2011-03-24 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: add support for global namespace to Tokenizer::simplifyVarDecl() 2011-03-24 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2675 (false positive: syntax error) 2011-03-24 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: symbol database: add a link from a Function to its Function Scope namd make function parameters belong to Function Scope 2011-03-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2673 (false positive: memory leak (address stored in list)) 2011-03-23 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #1288 (Use of memset on struct - nested structs not handled) 2011-03-23 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix Tokenizer::simplifyVarDecl() template assignment 2011-03-23 Robert Reif * lib/tokenize.cpp, test/testclass.cpp, test/testnullpointer.cpp: better fix for #2672 (False positive: function can be const, nested classes declared in one line) 2011-03-24 Sebastien Debrard * : commit 5f36ede4f5e7f8abc2dafa248a283e92feeed288 Author: Daniel Marjamäki Date: Wed Mar 23 18:45:47 2011 +0100 2011-03-23 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2672 (False positive: function can be const, nested classes declared in one line) 2011-03-22 Robert Reif * test/testclass.cpp: add some more CheckClass::noMemset tests 2011-03-22 Robert Reif * lib/checkclass.cpp: fix pointer/reference check in CheckClass::noMemset symbol database conversion 2011-03-22 Robert Reif * lib/checkclass.cpp: convert remainder of CheckClass::noMemset to use symbol database 2011-03-22 Robert Reif * : commit 468a983db1356576214d854d8930dc9521fdc685 Author: Robert Reif Date: Tue Mar 22 21:24:28 2011 -0400 2011-03-23 Sebastien Debrard * tools/Makefile: fix compilation error 2011-03-23 Sebastien Debrard * tools/Makefile: fix compile error 2011-03-23 Sebastien Debrard * : commit d36ed9aff15e267f3f94f3e37432e0eb6380809a Author: Robert Reif Date: Tue Mar 22 19:23:36 2011 -0400 2011-03-22 Robert Reif * lib/checkmemoryleak.cpp, lib/cppcheck.cpp: run astyle 2011-03-22 Ettl Martin * lib/cppcheck.cpp, test/testfilelister_unix.cpp: fixed performance issues, found by selfcheck with cppcheck. 2011-03-22 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: extended checkmemoryleak-whitelist 2011-03-22 Zachary Blair * lib/token.cpp: Fixed #2665 (Slightly sped-up how Token::Match() parses patterns) 2011-03-21 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix 2011-03-21 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix invalid bitfield match and simplification that created invalid code 2011-03-21 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: add virtual base class support to symbol database 2011-03-21 Robert Reif * cli/filelister.cpp, lib/checkmemoryleak.cpp, test/testmemleak.cpp: run astyle 2011-03-21 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: extended checkmemoryleak white list 2011-03-21 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2667 added open(), _open() and _wopen() function to checkmemoryleak whitelist, incl. unittests; 2011-03-21 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2667 added perror to checkmemoryleak white list; added unit-tests. 2011-03-21 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2668 fixed memory leak ( freopen() ) 2011-03-21 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2659 added chown,chmod and chdir functions to checkmemoryleak white list; added unittests for each case; 2011-03-20 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2659 added access()-function to checkmemoryleak white-list and provided untittests. 2011-03-20 Ettl Martin * test/testmemleak.cpp: #2667 removed wrong unittests; 2011-03-20 Ettl Martin * test/testmemleak.cpp: #2667 created unit-tests 2011-03-20 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: #2659 added stat function to white list and provide unit tests. 2011-03-20 Ettl Martin * lib/checkmemoryleak.cpp, test/testmemleak.cpp: fixed ticket 2659: added lstat function to white list; provided unit-tests. 2011-03-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2663 (False negative: function can be const (changing unknown or uninitialised variable)) 2011-03-20 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp: fix #2664 (False negative: function can be const (using type from another namespace)) 2011-03-20 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Fix file modes of two installer files. The files had executable file mode set but they don't need it as they are normal data files read by the Wix tool. 2011-03-20 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Remove old Swedish translation file. 2011-03-20 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Update Swedish GUI translation filename 2011-03-20 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_sr.ts, gui/cppcheck_sv.ts: GUI: Update translation files. 2011-03-20 Kimmo Varis * gui/cppcheck_se.ts, gui/cppcheck_sv.ts, gui/gui.pro, gui/translationhandler.cpp: GUI: Rename Swedish translation file. Ln pointed out in IRC that 'se' is not ISO-639 name of the Swedish, but 'sv' is. So rename the translation file to use the correct ISO-639 name. This wrong name also probably caused the GUI not recognizing Swedish locale of the OS. 2011-03-20 Daniel Marjamäki * cli/filelister.cpp: FileLister: Fixed compile error with Qt Creator + MinGW 2011-03-20 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: FileLister: Updated Visual Studio files 2011-03-20 Daniel Marjamäki * cli/cli.pro, test/test.pro: FileLister: updated qmake files 2011-03-20 Daniel Marjamäki * Makefile, cli/cppcheckexecutor.cpp, cli/filelister.cpp, cli/filelister.h, cli/filelister_unix.cpp, cli/filelister_unix.h, cli/filelister_win32.cpp, cli/filelister_win32.h, test/testfilelister_unix.cpp, tools/dmake.cpp: FileLister: Moved back the code into a single cpp file 2011-03-20 Sebastien Debrard * : commit 27506b423195b4cc51664884922e34b24011ccd2 Author: Daniel Marjamäki Date: Sun Mar 20 09:55:26 2011 +0100 2011-03-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2662 (Segfault: overloaded function call function with same name) 2011-03-19 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #1280 (Pointer to function support) 2011-03-19 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #1987 (Internal error:: CheckClass::SpaceInfo::getVarList found variable 'element_size' with varid 0.) 2011-03-19 Sebastien Debrard * : commit 2dcd0128b018733798eb4c15dbbd2e6f22bf777d Author: Daniel Marjamäki Date: Sat Mar 19 14:05:22 2011 +0100 2011-03-19 Sebastien Debrard * : commit 31af3a64bce89482ca9acd9c6044d4543faf3bd6 Author: Daniel Marjamäki Date: Sat Mar 19 11:09:51 2011 +0100 2011-03-19 Daniel Marjamäki * test/testmemleak.cpp: Refactoring: Renamed showAll flag to inconclusive 2011-03-19 Daniel Marjamäki * lib/tokenize.cpp, test/testmemleak.cpp, test/testtokenize.cpp: Tokenizer::setVarId: Better handling of class declarations when variable usage comes before variable declaration 2011-03-18 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: #2630 (segmentation fault of cppcheck (template ) 2011-03-17 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix #2657 (segmentation fault of cppcheck ( gcc-testsuite: return f(){} )) 2011-03-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2651 (Segmentation fault (typedef)) 2011-03-17 Reijo Tomperi * cppcheck.cbp: Update codeblocks project file to contain new files 2011-03-17 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2648 (Tokenizer::simplifyTemplates: Segmentation fault (gcc-testsuite)) 2011-03-17 Sebastien Debrard * : commit 7e04ea0859215355ebbaa950aaa449c3b9822358 Author: Robert Reif Date: Wed Mar 16 19:54:52 2011 -0400 2011-03-16 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyTemplates: First simple fix for problems when using sizeof in template parameter 2011-03-15 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2581 (### Internal error in Cppcheck. Please report it.) 2011-03-15 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix #2637 (segmentation fault of cppcheck ( {} const const )) 2011-03-15 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2651 function typedef with extra ()s 2011-03-15 Sebastien Debrard * : commit fa868e44ae2827f2efb2b5d3c2d5e7462295545e Author: Greg Hewgill Date: Tue Mar 15 20:19:30 2011 +1300 2011-03-14 Sebastien Debrard * : commit e1afd5eb0939ce1b7d6433699e9f89faf8fd75fc Author: Daniel Marjamäki Date: Mon Mar 14 19:35:22 2011 +0100 2011-03-14 Daniel Marjamäki * webreport.sh: webreport: refactoring 2011-03-14 Daniel Marjamäki * generate_coverage_report: LCOV: updated the generate_coverage_report to avoid some redundant compiler warnings 2011-03-14 Daniel Marjamäki * htdocs/index.php: htdocs: minor update of index.php 2011-03-13 Robert Reif * lib/symboldatabase.cpp: look for function prototypes but don't save them in the symbol database yet 2011-03-13 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: save pointer to Function info in function scope in symboldatabase 2011-03-13 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: save location of using directive (not used yet) 2011-03-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testtokenize.cpp: Fixed #2638 (Tokenizer::setVarId : varid is wrongly given when unknown macro is used) 2011-03-13 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h: Clarify condition: re-enabled check 2011-03-13 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2621 (Segmentation fault for GCC statement expression) 2011-03-13 Daniel Marjamäki * lib/checkstl.cpp: Refactoring: Use SymbolDatabase to determine if variable is a iterator 2011-03-13 Daniel Marjamäki * lib/checkstl.cpp: Refactoring: Use symbol database to get variable type 2011-03-13 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2639 (False positive: confusion between struct and function) 2011-03-12 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Convert CheckClass::noMemset to use the symbol database to lookup types. This adds better support for namespaces and nested classes. 2011-03-12 Robert Reif * lib/symboldatabase.cpp: save start parentheses of global functions 2011-03-12 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2647 (False positive: Possible null pointer dereference (member function call)) 2011-03-12 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2643 (False positive: iterator increment and insert) 2011-03-12 Robert Reif * lib/checknullpointer.cpp, test/testnullpointer.cpp: fix another false negative introduced by fix for #2641 2011-03-12 Robert Reif * lib/checknullpointer.cpp, lib/symboldatabase.h, test/testnullpointer.cpp: fix false negative introduced by fix for #2641 2011-03-12 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2641 (False positive: Possible null pointer dereference (global pointer, function call)) 2011-03-12 Daniel Marjamäki * : commit 2716b856f410a4235eea775f03b23de1dbe85310 Author: Greg Hewgill Date: Sat Mar 12 07:27:31 2011 +1300 2011-03-10 Robert Reif * lib/checkautovariables.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp, test/testsymboldatabase.cpp: refactor symbol database and checks to use list of Scope rather than list of Scope pointers 2011-03-10 Greg Hewgill * lib/settings.cpp, man/cppcheck.1.xml, man/manual.docbook, test/testsuppressions.cpp: Allow suppressing all warnings (using *) for specified file or files 2011-03-10 Greg Hewgill * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Revert "Check for memset on nested structs (ticket #1288)" Turns out this fix is incomplete. This reverts commit a084697410bac0e08324236e78185a0c1a8a92ff. 2011-03-09 Daniel Marjamäki * lib/checkother.h: suspicious condition: commented out the check temporarily - there are some false positives I'll need to fix 2011-03-09 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Suspicious condition: Added new check for conditions that contains assignment+comparison 2011-03-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2632 (segmentation fault of cppcheck ( void>(); void>() )) 2011-03-09 Sébastien Debrard * : commit bea387538631337021d219ce70dc843858460898 Author: Daniel Marjamäki Date: Wed Mar 9 21:00:28 2011 +0100 2011-03-09 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2635 (False positive: resource leak) 2011-03-09 Greg Hewgill * : commit a084697410bac0e08324236e78185a0c1a8a92ff Author: Greg Hewgill Date: Wed Mar 9 22:49:13 2011 +1300 2011-03-09 Greg Hewgill * lib/checkclass.cpp, test/testclass.cpp: Check for memset on objects with virtual functions (ticket #607) 2011-03-09 Greg Hewgill * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: refactor noMemset so it recursively checks parent classes for non-memset-compatible things 2011-03-08 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2630 (segmentation fault of cppcheck ( typedef ... ) 2011-03-08 Robert Reif * lib/symboldatabase.cpp: fix null pointer dereference found by clang++ --analyze 2011-03-08 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2620 (Tokenizer::setVarId : wrong handling of member function parameters) 2011-03-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2634 (False positive: buffer access out of bounds) 2011-03-08 Kimmo Varis * gui/about.ui: GUI: Update About-dialog copyright year to 2011. 2011-03-07 Robert Reif * lib/token.cpp, lib/token.h, lib/tokenize.cpp: copy all flag fields in a Token 2011-03-07 Robert Reif * lib/checkstl.cpp, test/teststl.cpp: convert CheckStl::size() to use symbol database, fix false positives, and remove inconclusive 2011-03-07 Kimmo Varis * : commit d8ced1dbb1e2fa78cbd17c78c468a65b6338581d Author: Kimmo Varis Date: Mon Mar 7 23:43:59 2011 +0200 2011-03-07 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Add back translation of severity texts. Translation of severity texts was temporarily disabled by earlier commits. Now adding new method to ResultsTree for getting translated severity string. 2011-03-07 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Update more severity conversion methods. 2011-03-07 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: made sure string::iterator is valid after string::erase 2011-03-07 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Incorrect string compare: reduce noise when using strncmp on string literal 2011-03-07 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp: GUI: Make Severity to ShowType use enum values. Continue converting Severity use in GUI from QString to enum values. 2011-03-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2631 (Tokenizer::simplifyTemplates: template usage 'std::cout << (foo(r));') 2011-03-07 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp: GUI: Convert severity in ErrorLine to enum value. This commit continues converting severity in GUI to enum. 2011-03-07 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2633 (False positive: Memory leak for tree node) 2011-03-07 Kimmo Varis * gui/csvreport.cpp, gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp, gui/resultsview.cpp, gui/threadresult.cpp, gui/txtreport.cpp, gui/xmlreportv1.cpp, gui/xmlreportv2.cpp: GUI: Use severity enum in ErrorItem. Convert from using string to enum values for severity in ErrorItem. Storing and handling severity as string was the easy way earlier but it is not convenient or efficient way to handle severities. This commit is the first step in converting severity handling to use the enum values instead of strings. 2011-03-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2630 (segmentation fault of cppcheck ( typedef y x () x )) 2011-03-06 Daniel Marjamäki * lib/checknullpointer.cpp: Refactoring of the CheckNullPointer::isPointer. Use the symbol database. Ticket: #2629 2011-03-06 Daniel Marjamäki * lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: variable fix. ticket: #2629 2011-03-06 Daniel Marjamäki * lib/preprocessor.cpp: astyle formatting 2011-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyTemplates: better handling of '(foo())'. Ticket: #2631 2011-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Revert "Tokenizer::simplifyTemplates: better handling of '(foo())'. Ticket: #2631" This reverts commit de31ec1e4441eab3c065d3208f0be01bbf2c2bcf. 2011-03-07 Greg Hewgill * lib/preprocessor.cpp: Always pass unsigned char to ::isspace to prevent runtime error in MSVC 2011-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyTemplates: better handling of '(foo())'. Ticket: #2631 2011-03-06 Daniel Marjamäki * lib/errorlogger.h: error logger: explain the severities better 2011-03-06 Kimmo Varis * lib/errorlogger.h: Document error message severities. 2011-03-06 Daniel Marjamäki * readme.txt: readme: better build instructions 2011-03-06 Daniel Marjamäki * lib/checkmemoryleak.cpp: CheckMemoryLeak: Refactoring the code 2011-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2612 (segmentation fault of cppcheck ( <><< )) 2011-03-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: finish fixing #2624 (better function pointer support needed) 2011-03-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: partial fix for #2624 (better function pointer support needed) 2011-03-06 Greg Hewgill * lib/checkother.cpp, lib/preprocessor.cpp, test/testother.cpp: switchCaseFallThrough is now an inconclusive check 2011-03-06 Greg Hewgill * lib/preprocessor.cpp, test/testother.cpp: Relax detection of 'fall through' comment so it only adds a suppression if it immediately precedes 'case' or 'default' 2011-03-06 Greg Hewgill * lib/checkother.cpp, lib/preprocessor.cpp, test/testother.cpp: switchCaseFallThrough is now a coding style check (ticket #2623) 2011-03-05 Kimmo Varis * cppcheck.cppcheck: Skip checking gui/temp when using project file. gui/temp directory contains code files generated by qmake so those files are not interesting to check. 2011-03-05 Greg Hewgill * lib/preprocessor.cpp, test/testother.cpp: Support a few more common styles of "fall through" comment 2011-03-05 Greg Hewgill * Makefile, cli/threadexecutor.cpp, cli/threadexecutor.h: Refactor ThreadExecutor::check() to handle child failures more gracefully 2011-03-05 Greg Hewgill * cli/threadexecutor.cpp, cli/threadexecutor.h: Normalise threading support checking into a single #define 2011-03-05 Greg Hewgill * : commit c5f8a06a97df57a47a2061e48b55e6fa15f19641 Author: Greg Hewgill Date: Fri Mar 4 20:26:14 2011 +1300 2011-03-04 Greg Hewgill * lib/preprocessor.cpp, test/testother.cpp: fix case where fall through comment precedes preprocessor line 2011-03-04 Greg Hewgill * test/testother.cpp: add TODO for pathological case 2011-02-23 Greg Hewgill * lib/checkother.cpp, test/testother.cpp: avoid warning on first case (in case there are declarations before first case) 2011-02-20 Greg Hewgill * lib/preprocessor.cpp: slightly more flexible detection of 'fall through' comment 2011-02-20 Greg Hewgill * lib/checkother.cpp: avoid crash when else condition doesn't have braces to link 2011-02-20 Greg Hewgill * lib/preprocessor.cpp, test/testother.cpp: recognise fall through in c style comments 2011-02-20 Greg Hewgill * lib/checkother.cpp: more gracefully handle unexpected blocks inside switch 2011-02-20 Greg Hewgill * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: full implementation of switch case fall through 2011-02-19 Greg Hewgill * lib/checkother.cpp, lib/checkother.h, lib/preprocessor.cpp, test/testother.cpp: initial simplistic implementation of switchCaseFallThrough 2011-03-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: really fix #2620 reference of typedef of array not simplified properly 2011-03-03 Sébastien Debrard * : commit d7a6e729b84a72b3886dedb8fa7b50db3c68de3c Author: Daniel Marjamäki Date: Thu Mar 3 20:07:56 2011 +0100 2011-03-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: revert previous commit: simplified code isn't correct 2011-03-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2620 reference of typedef of array not simplified properly 2011-03-02 Robert Reif * lib/checkautovariables.cpp: convert some of the checks in CheckAutoVariables to use the variable symbol table 2011-03-02 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testautovariables.cpp: add debug message for function argument missing varid 2011-03-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2618 (Tokenizer::simplifyKnownVariables: Don't use known string value if address is wanted) 2011-03-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2616 (Segmentation fault with unknown macro) 2011-03-01 Daniel Marjamäki * gui/projectfiledialog.cpp, test/testpreprocessor.cpp: astyle formatting 2011-03-01 Greg Hewgill * test/testpreprocessor.cpp: add TODO for #elif inside #if 0 processing, also for #if 1 2011-03-01 Greg Hewgill * lib/preprocessor.cpp, test/testpreprocessor.cpp: refactor #if 0 handling to leave preprocessor statements alone 2011-03-01 Greg Hewgill * lib/preprocessor.cpp, test/testpreprocessor.cpp: handle #if (0) after removing parentheses 2011-03-01 Greg Hewgill * lib/preprocessor.cpp, test/testpreprocessor.cpp: handle embedded whitespace in #if 0 processing 2011-03-01 Greg Hewgill * test/testpreprocessor.cpp: test case for #if 0 exclusion 2011-02-28 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix #2595 bitfield fix for case x: break; and default: break; 2011-02-28 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2615 (Segmentation fault in cppcheck 1.47) 2011-02-28 Sébastien Debrard * : commit 81318bb4a12aa7d3bc470b17a5c2c8136a3703b5 Author: Kimmo Varis Date: Mon Feb 28 17:41:52 2011 +0200 2011-02-28 Kimmo Varis * gui/projectfile.cpp, gui/projectfiledialog.cpp: GUI: Show native path separators. Show native path separators in project file-dialog. Convert paths to internal separators when reading from project file and when reading from the dialog. Convert to native separators when adding to the dialog (for the user). 2011-02-28 Kimmo Varis * : commit b1db29278d8d540bc71ca3337cb3ddba5e00f364 Author: Kimmo Varis Date: Mon Feb 28 16:31:46 2011 +0200 2011-02-28 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Add path separator for ignore dirs. 2011-02-28 Kimmo Varis * gui/projectfile.cpp: GUI: Small cleanup for projectfile code. 2011-02-28 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Fix bug mixing include and ignore dirs in GUI. 2011-02-28 Kimmo Varis * gui/projectfile.cpp: GUI: Write ignore paths to project file. 2011-02-28 Kimmo Varis * gui/project.cpp, gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add GUI for ignored paths in project files. Add similar GUI than include paths has. Currently there is only possibly select directories directly from the GUI. But filename can be added to the path by editing it. 2011-02-28 Kimmo Varis * gui/filelist.cpp, gui/filelist.h, gui/mainwindow.cpp, gui/projectfile.cpp: GUI: Take filtering into use in GUI. Add applying of filtering into list of files to check if we have an active project file. Filtering is quite much similar to the filtering in CLI. If we have directory filter ("gui/") then we check all paths if they contain "gui" part. In practice we search for string "/gui" from the paths. If we have filename filtering ("gui/projectfile.cpp") then we check if any of the paths end with that. 2011-02-27 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #432 (New check: wrong usage of ! operator in conditions) 2011-02-27 Kimmo Varis * gui/mainwindow.cpp: GUI: If project open failed project got invalid. The project was deleted but not set as NULL when the project open failed. Fix this by deleting the project only when the opening succeeds. 2011-02-27 Kimmo Varis * gui/projectfile.cpp, gui/projectfile.h: GUI: Convert some projectfile method arguments const. 2011-02-27 Kimmo Varis * gui/projectfile.cpp, gui/projectfile.h: GUI: Add ignored paths support to project file. This patch adds support for ignored paths in the project file. There is new element which can contain one or more elements with name attribute containing the path to ignore. 2011-02-27 Robert Reif * lib/symboldatabase.cpp: fix symbol database bug where delete can be considered a variable declaration 2011-02-27 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: add an array flag to symbol database Variable class 2011-02-27 Robert Reif * lib/symboldatabase.cpp: fix a symbol database bug where a return statement could be considered a variable declaration 2011-02-26 Daniel Marjamäki * lib/symboldatabase.cpp: Symbol database: Fixed debug warnings for true/false. true/false doesn't have varId. 2011-02-26 Robert Reif * lib/symboldatabase.cpp: fix a bug in symbol database while scope processing 2011-02-26 Robert Reif * lib/symboldatabase.h: fix potential null pointer dereference for unnamed function arguments 2011-02-26 Robert Reif * lib/checkclass.cpp: convert CheckClass::noMemset to use new variable lookup capability 2011-02-26 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: add a varId to Variable lookup table and fill it in with all variables 2011-02-26 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: add local scopes to the symbol database 2011-02-26 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: add a list of function arguments to symbol database Function class 2011-02-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2031 (Tokenizer: simplify known value (string has known value after strcpy)) 2011-02-26 Daniel Marjamäki * lib/preprocessor.cpp: astyle formatting 2011-02-26 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: fix 2011-02-26 Daniel Marjamäki * : merge from subversion client 2011-02-26 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: extend symbol database Variable with more information 2011-02-26 Robert Reif * lib/tokenize.cpp, lib/tokenize.h: expose number of variables found by Tokenizer 2011-02-26 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2011-02-26 Kimmo Varis * gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Use list to manage paths in project file. Handling paths in line edit control is quite hard. List control is much more pleasant to use for it. Convert Project file path handling to similar list control usage than include paths earlier. 2011-02-25 Kimmo Varis * gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Edit project's include directories as list. Editing include directories in edit control is not nice. Instead add new tab and list control for the include directories. They are now added, edited and removed like global include directories in settings dialog. 2011-02-25 Kimmo Varis * gui/applicationlist.cpp: GUI: Fix for initializing default application. 2011-02-25 Robert Reif * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: fix symboldatabase global variable detection 2011-02-25 Kimmo Varis * gui/settingsdialog.cpp: GUI: Select the default application in app list. 2011-02-25 Kimmo Varis * gui/applicationlist.cpp, gui/applicationlist.h, gui/settingsdialog.cpp: GUI: Rename methods. We don't need the 'type' postfix. We are handling applications, not application types. 2011-02-25 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Fix opening error item with default app. 2011-02-25 Kimmo Varis * gui/settingsdialog.cpp: GUI: Fix for removing application. The default application was not handled correctly when removing application from the list. If the default application is removed then we reset the default application to unknown. Otherwise we make sure the default application is correct after the removal of other application. 2011-02-25 Kimmo Varis * gui/applicationlist.cpp, gui/applicationlist.h, gui/common.h, gui/settingsdialog.cpp: GUI: Show default application with [Default] text. Instead of keeping the default application as a first item in the application list point the default application by adding a "[Default]" text after its name. 2011-02-25 Kimmo Varis * gui/settings.ui, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Improve edit application setttings dialog. Make the editor application settings dialog to look similar than include paths dialog. Move buttons right to the list, not below. And remove unnecessary "application" word from button texts. Rename Modify-button to Edit-button since we are not modifying the application but editing its info. Similarly rename Delete- button to Remove-button since we are not deleting the application but removing from the list. 2011-02-25 Kimmo Varis * gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Rename method. SettingsDialog::PopulateListwidget() was a bit confusing name as there are more than one list widgets already in settings-dialog. 2011-02-24 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: code cleanup and add more tests to CheckClass::noMemset() 2011-02-24 Kimmo Varis * gui/settings.ui, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Add list control for include paths. Instead of hard-to-use single line edit control, use list control for include paths. Have separate buttons for adding, editing and removing paths. Paths are still stored as one string where paths are separated with ";". Empty paths are ignored. 2011-02-24 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2610 (segmentation fault of cppcheck ( if () < {} )) 2011-02-24 Chuck Larson * lib/checkclass.cpp, test/testclass.cpp: memset: using memset on struct/class that has std::string member variable. ticket: #1655 2011-02-24 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2609 (False positive on template dependent name) 2011-02-24 János Maros * lib/checkpostfixoperator.cpp: Fixed #2608 ([lib/checkpostfixoperator.cpp:87]: (error) Possible null-pointer dereference: decltok) 2011-02-23 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2578 (Preprocessor does not correctly handle #define A 0 / #if A) 2011-02-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2604 (Segmentation fault of cppcheck ( sizeof <= A )) 2011-02-23 Greg Hewgill * gui/checkthread.cpp: fix CppCheck constructor to allow gui to compile 2011-02-23 Greg Hewgill * : commit ec4e0c8bf5dba7803c0ebf8313827794d905a674 Author: Greg Hewgill Date: Wed Feb 23 20:59:30 2011 +1300 2011-02-16 Greg Hewgill * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: add --suppress= command line option 2011-02-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2403 (simplifyTypedef: array of function pointers) Internal error message 2011-02-23 Sébastien Debrard * lib/checkobsoletefunctions.h: update the message when bcopy function is used 2011-02-22 Kimmo Varis * cli/cmdlineparser.cpp: CLI: Fix CLI help text to fit in 80-char terminal. 2011-02-22 Reijo Tomperi * test/testbufferoverrun.cpp: Fix test array_index_24() to share code with environments where plain char is either signed or unsigned. This was done, because that particular test has been already fixed a couple of times and it is still broken in some systems. 2011-02-22 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2605 (cppcheck hangs with 100% cpu load ( #define = )) 2011-02-22 Sébastien Debrard * : commit dd12fc177fb827d3d54648ec725c9403cb9edf1a Author: Robert Reif Date: Tue Feb 22 07:48:34 2011 -0500 2011-02-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2601 (segmentation fault of cppcheck) 2011-02-22 Robert Reif * lib/checkclass.cpp, test/testunusedprivfunc.cpp: fix #2602 (segmentation fault of cppcheck ( class A {A& operator=(const A&); }; )) 2011-02-21 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2600 (segmentation fault of cppcheck ( enum{const} )) 2011-02-21 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2599 (segmentation fault of cppcheck ( sizeof )) 2011-02-21 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix segfault: #2591 (cppcheck hangs with 100% cpu load ( class A : )) 2011-02-21 root * : commit 55711698d0b51b881d13c4537914e86f43ffba31 Author: Daniel Marjamäki Date: Mon Feb 21 19:41:34 2011 +0100 2011-02-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2595 (False positive Technically the member function 'A::foo' can be const) 2011-02-20 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: fix bitfields to support non-numeric bitfield width 2011-02-20 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2597 (False positive: Buffer access out-of-bounds for u_char, uint*_t, ...) 2011-02-20 Daniel Marjamäki * lib/preprocessor.cpp: astyle formatting 2011-02-20 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2563 (#if equality testing does not ignore parentheses) 2011-02-20 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: Added TODO test case for #2563 2011-02-20 Daniel Marjamäki * lib/tokenize.cpp: cppcheckError: Rephrazed the error message. The 'internal error' sounds like something dangerous happens that needs to be fixed. So I think 'analysis failed' is better. If the code has a syntax error then 'analysis failed' is entirely ok. 2011-02-20 Daniel Marjamäki * test/testnullpointer.cpp: Null pointer: Added TODO test case. Ticket: #2379 2011-02-20 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: fixed so that 'p=&x; if(p)' is simplified to 'p=&x;if(&x)'. Ticket: #2596 2011-02-20 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false negative for such code: 'if (p && *p) {} else { *p=0; }'. Ticket: #2379 2011-02-20 Robert Reif * lib/checkclass.cpp: use func->start rather than searching for '{' in CheckClass::privateFunctions 2011-02-20 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h: save start of function '{' and start of variable declaration in symbol database so checks don't have to find them 2011-02-20 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: astyle formatting 2011-02-20 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyTemplates: Better handling for multi-token template arguments such as 'Foo' 2011-02-19 Robert Reif * lib/checkclass.cpp: fix comment in CheckClass::initializeVarList 2011-02-19 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: fix #2592 (False positive: 'operator=' should return reference to self) 2011-02-20 Greg Hewgill * : commit 98ab34b2b5e92fe47cfc4d279fcc14186ef9e05a Author: Greg Hewgill Date: Sun Feb 20 11:36:03 2011 +1300 2011-02-19 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false negative for such code 'if (p && *p==0) {} *p = 0;'. Ticket: #2379 2011-02-19 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false negative for such code: 'abc->a = 0; if (abc && ..'. Ticket: #2379 2011-02-19 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointer: fixed false negative when dereferencing struct and then checking if it's null. Ticket: #2379 2011-02-19 Robert Reif * lib/checkbufferoverrun.cpp, lib/symboldatabase.cpp, test/testclass.cpp: fix [B#2589 (segmentation fault of cppcheck (struct B : A)) 2011-02-19 Daniel Marjamäki * lib/executionpath.cpp, test/testnullpointer.cpp, test/testuninitvar.cpp: Fixed #2231 (uninitialized variable: undetected when initialization in for loop) 2011-02-19 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: fix #2587 (Spurious warning about struct hiding typedef) 2011-02-19 Robert Reif * lib/symboldatabase.cpp: fix Scope::findInNestedListRecursive to check all children 2011-02-19 Daniel Marjamäki * lib/checkother.cpp: Fixed #2590 (segmentation fault of cppcheck ( {}int )) 2011-02-19 Greg Hewgill * lib/tokenize.cpp: remove stray BOM from source file 2011-02-18 Sébastien Debrard * : commit f3b211378cec53a500d2e11f7ad8781f0a138d74 Author: Daniel Marjamäki Date: Fri Feb 18 20:22:09 2011 +0100 2011-02-18 Daniel Marjamäki * lib/tokenize.cpp: Borland C++: Fixed compiler error 2011-02-18 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2582 (segmentation fault of cppcheck ( if() )) 2011-02-17 Daniel Marjamäki * Makefile: Makefile: updated with dmake 2011-02-17 Daniel Marjamäki * Makefile, tools/dmake.cpp: GCC: Disabled the -Wsign-conversion. It is quite noisy. 2011-02-17 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2585 (segmentation fault of cppcheck (CheckOther::clarifyCalculation)) 2011-02-17 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2586 (segmentation fault of cppcheck (template<>)) 2011-02-17 Daniel Marjamäki * test/testsuppressions.cpp: astyle formatting 2011-02-17 Sébastien Debrard * : commit e2581da30c2676e402240f51753d07531842514e Merge: 53aaf22 a4de6a3 Author: Greg Hewgill Date: Thu Feb 17 21:46:43 2011 +1300 2011-02-17 Greg Hewgill * lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testsuppressions.cpp: be sure to list unmatched suppressions only for the currently processed file 2011-02-16 Daniel Marjamäki * test/testclass.cpp: CheckClass::noMemset: Added TODO test case 2011-02-16 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/errorlogger.h: Fixed gcc compiler warnings (signedness) 2011-02-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2584 (false positive 'variable n is never used') 2011-02-16 Sébastien Debrard * : commit f6872a7008b56f0933eb6c3faff29992a5693d20 Merge: 5998ec4 de00ad6 Author: Greg Hewgill Date: Thu Feb 17 07:13:16 2011 +1300 2011-02-16 Greg Hewgill * AUTHORS: add self to authors file 2011-02-16 Greg Hewgill * Makefile, cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/settings.cpp, lib/settings.h, test/testcppcheck.cpp, test/testsuppressions.cpp: implement unmatchedSuppression information message 2011-02-16 Greg Hewgill * lib/settings.cpp, lib/settings.h: factor out addSuppressionLine from file reading function 2011-02-15 Greg Hewgill * lib/settings.cpp: use suppression wildcard glob instead of special-case empty filename 2011-02-15 Raphael Geissert * test/testbufferoverrun.cpp: Really fix the build failure this time 2011-02-14 Robert Reif * lib/symboldatabase.cpp, test/testunusedprivfunc.cpp: fix #2580 (false postive with Unused private function) 2011-02-14 Daniel Marjamäki * build-pcre.txt, build.txt: renamed build.txt to build-pcre.txt 2011-02-14 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyCalculations: basic handling of bitwise operators 2011-02-14 Daniel Marjamäki * cli/cli.pro, readme.txt: Renaming HAVE_DEPENDENCIES to HAVE_RULES 2011-02-14 Daniel Marjamäki * Makefile, cli/cmdlineparser.cpp, lib/cppcheck.cpp, tools/dmake.cpp: Build: Renamed HAVE_DEPENDENCIES to HAVE_RULES 2011-02-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Really fix #2348 perl-tk 2011-02-13 Ettl Martin * lib/preprocessor.cpp: fixed pre/post increment warings, found during selfcheck 2011-02-13 Daniel Marjamäki * test/testbufferoverrun.cpp: Revert "Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives" This reverts commit 87cc42e6f0b0c8db37a314e5ef5be2c48cc3f4bd. 2011-02-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO testcases (better handling of comparisons) 2011-02-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of ^) 2011-02-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of |) 2011-02-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO testcase (better handling of %) 2011-02-13 Sébastien Debrard * : commit 87cf0949f2cd01c47194e058afe655fcff8e2ff3 Author: Daniel Marjamäki Date: Sun Feb 13 21:48:13 2011 +0100 2011-02-13 Daniel Marjamäki * test/testbufferoverrun.cpp: Buffer overruns: Removed TODO test case. We intentionally don't check struct/class arrays fully to avoid false positives 2011-02-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #2579 (segmentation fault of cppcheck) 2011-02-13 Robert Reif * lib/tokenize.cpp: Really fix: #2376 (simplifyTypedef: upx-ucl) 2011-02-13 Daniel Marjamäki * : commit 8c5ec0df7dac25011a26078dd88d9cffeed5ebae Merge: b3e19c2 a4fd5e8 Author: Daniel Marjamäki Date: Sun Feb 13 18:13:35 2011 +0100 2011-02-13 Greg Hewgill * test/testpreprocessor.cpp: change failing tests into TODO_ASSERT_EQUALS 2011-02-12 Raphael Geissert * cli/filelister_unix.cpp: Fix build when PATH_MAX is not defined POSIX says it _may_ be defined. Alternative implementation follows POSIX.1-2008. 2011-02-13 Greg Hewgill * lib/settings.cpp: astyle formatting 2011-02-13 Greg Hewgill * lib/settings.cpp: use std::stack instead of std::list where appropriate 2011-02-12 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: fix #2577 (segmentation fault of cppcheck) 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer: comments/refactorings 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyTemplates: Broke out the functionality that instantiates a template 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyTemplates: Broke out the functionality that handles default template arguments 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyTemplates: Broke out the functionality that extract a list of template instantiations 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyTemplates: broke out the functionality that extract a list of template declarations 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyTemplates: Broke out handling for 'template<>..' 2011-02-12 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2576 (False positive: (error) Buffer access out-of-bounds) 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2549 (segmentation fault of cppcheck) 2011-02-12 Daniel Marjamäki * lib/checkautovariables.h, test/testautovariables.cpp: Fixed #2558 (false positive: (error) Returning reference to auto variable) 2011-02-12 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2502 (False positive: redundant assingment of object to itself) 2011-02-12 Daniel Marjamäki * test/testuninitvar.cpp: Uninitialized variables: Added TODO test case 2011-02-12 Sébastien Debrard * : commit 318f2e8a5733adb2e863dd229b8102bd6c4e2d06 Author: Daniel Marjamäki Date: Sat Feb 12 11:31:10 2011 +0100 2011-02-12 Raphael Geissert * test/testbufferoverrun.cpp: Fix test for architectures where char is unsigned 2011-02-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyKnownVariables: Split up the function into smaller functions. Broke out ..GetData function that extracts info about assigned variable before the simplification is made. 2011-02-12 Daniel Marjamäki * readme.txt: readme: show how cppcheck is compiled with g++ with or without dependencies 2011-02-12 Daniel Marjamäki * Makefile, cli/cli.pro, cli/cmdlineparser.cpp, lib/cppcheck.cpp, tools/dmake.cpp: cppcheck: Added HAVE_DEPENDENCIES define. Cppcheck cli can be compiled without dependencies. 2011-02-11 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: fix #2568 (False positive: (style) Union 'A_t' hides typedef with same name (forward declaration)) 2011-02-11 Sébastien Debrard * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: fix #2569 check postfix increment on boolean 2011-02-11 Reijo Tomperi * runastyle: Add check to runastyle to enforce correct astyle version usage. 2011-02-11 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer::simplifyKnownVariables: Broke out the simplification into a separate function 2011-02-11 Erik Lax * gui/mainwindow.cpp, gui/mainwindow.h: Fixed: #2572 (GUI: Disable all UI actions on Recheck) 2011-02-11 Erik Lax * gui/resultstree.cpp: Fixed: #2460 (GUI: Errors are sorted by line number alphabetically instead of numerically) 2011-02-11 Daniel Marjamäki * lib/checkclass.cpp, lib/preprocessor.cpp, lib/preprocessor.h, tools/dmake.cpp: astyle formatting 2011-02-11 Erik Lax * test/testbufferoverrun.cpp: Preprocessor: Test handling of strings with multiple spaces (Ticket: #2548) 2011-02-11 Greg Hewgill * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2571 (Preprocessor: better handling for #undef) 2011-02-11 Greg Hewgill * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2570 (Preprocessor: #define parsing when there is no whitespace between a macro symbol and its double-quoted string expansion) 2011-02-11 Robert Reif * lib/checkclass.cpp, test/testunusedprivfunc.cpp: fix #2567 Unused private function when implemented in different file 2011-02-11 Erik Lax * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #2559 (Refactoring Preprocessor::read) 2011-02-10 Sébastien Debrard * : commit 90bf801c8352a170bb5946e3eb6a39449b669120 Author: Daniel Marjamäki Date: Thu Feb 10 22:10:45 2011 +0100 2011-02-10 Daniel Marjamäki * cli/cppcheck.vcproj, test/test.vcproj: Visual Studio 2008: Updated project files for cli and test 2011-02-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: CheckBufferOverrun: Refactoring. Broke out checkScope code for parsing 'for' bodies 2011-02-10 Reijo Tomperi * Makefile, cli/cmdlineparser.cpp, lib/lib.pri, test/testcppcheck.cpp, tools/dmake.cpp: Change "tinyxml/tinyxml.h" includes into and modify dmake to work with it. This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile. 2011-02-10 Sébastien Debrard * : commit 2900d44ff0b5037bb43b14876c7699075b1a122e Author: Robert Reif Date: Thu Feb 10 07:37:55 2011 -0500 2011-02-09 Robert Reif * lib/tokenize.cpp, lib/tokenize.h: Tokenizer: refactor duplicated token copy code info function 2011-02-09 Robert Reif * tools/dmake.cpp: fix dmake.cpp cppcheck message: Include file: ../cli/fileLister_win32.h not found. 2011-02-09 Kimmo Varis * gui/test/main.cpp, gui/test/test.pro, gui/test/testxmlreportv2.cpp, gui/test/testxmlreportv2.h, gui/xmlreportv2.h: GUITEST: Add test reading XML format v2 file. 2011-02-09 Kimmo Varis * gui/test/main.cpp, gui/test/test.pro, gui/test/testxmlreport.cpp, gui/test/testxmlreportv1.cpp, gui/test/testxmlreportv1.h: GUITEST: Add test for reading old format XML report. 2011-02-09 Kimmo Varis * gui/test/testxmlreport.cpp, gui/test/testxmlreport.h, gui/test/xmlfiles/xmlreport_v1.xml, gui/test/xmlfiles/xmlreport_v2.xml: GUITEST: Add test for checking XML report version. 2011-02-09 Sébastien Debrard * : commit 5175e4ff3f04a7a8bb75c020694e262d456cf077 Author: Daniel Marjamäki Date: Wed Feb 9 19:20:44 2011 +0100 2011-02-09 Robert Reif * lib/tokenize.cpp: replace tok->strAt(0) with tok->str() 2011-02-09 Kimmo Varis * gui/test/main.cpp, runastyle, runastyle.bat: Astyle: add option to convert to linux EOLs. 2011-02-08 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2554 (simplifyTypedef: wrong simplification for sizeof(array)) 2011-02-09 Kimmo Varis * gui/test/main.cpp, gui/test/test.pro, gui/test/testtranslationhandler.cpp, gui/test/testtranslationhandler.h, gui/test/testxmlreport.cpp, gui/test/testxmlreport.h: GUITEST: Add couple of tests for XmlReport. 2011-02-09 Reijo Tomperi * Makefile, tools/dmake.cpp: Change Makefile to allow another external library to be used instead of bundled one. E.g. make TINYXML="-ltinyxml" can be used to compile with libtinyxml-dev instead of externals/tinyxml (but won't compile yet, because of #include "tinyxml/tinyxml.h" in the code). 2011-02-08 Kimmo Varis * gui/test/test.pro, gui/test/testtranslationhandler.cpp, gui/translationhandler.h, runastyle, runastyle.bat: GUITEST: Add first GUI test testing TranslationHandler. 2011-02-08 Reijo Tomperi * readme.txt: Fix readme.txt instructions for g++ compiling 2011-02-08 Sébastien Debrard * : commit 56ae77ba87cb528372daf385f865230b938d2ff0 Author: Daniel Marjamäki Date: Tue Feb 8 20:18:15 2011 +0100 2011-02-08 Erik Lax * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2550 (Bad substr/strncmp comparison) 2011-02-08 Kimmo Varis * gui/mainwindow.cpp, gui/translationhandler.cpp: GUI: Better handling of unknown language loading. If there were unknown language in settings the fallback to English language didn't work as expected. And there were no proper current language set after that. Initialize current language to English so we always have English as proper fallback. 2011-02-09 Greg Hewgill * lib/settings.cpp, man/cppcheck.1.xml, man/manual.docbook, test/testsettings.cpp: support wildcard characters * and ? in suppression list 2011-02-08 Greg Hewgill * lib/settings.cpp, lib/settings.h: factor out file matching into own class 2011-02-08 Greg Hewgill * test/testsettings.cpp: failing test for suppression glob 2011-02-08 Greg Hewgill * test/testpreprocessor.cpp: preprocessor check for #define A 0 2011-02-07 Robert Reif * lib/checkautovariables.cpp, test/testautovariables.cpp: checkautovariables: refactor to use the symbol database 2011-02-07 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2552 (preprocessor check XX is already guaranteed to be defined -- too eager?) 2011-02-07 Kimmo Varis * gui/translationhandler.cpp: GUI: Enable French translation. French translation file was added to the source tree but not added to the code loading translations. 2011-02-07 Kimmo Varis * gui/translationhandler.h: GUI: Add comments for translationhandler.h. 2011-02-07 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/translationhandler.cpp, gui/translationhandler.h: GUI: Store selected language as language code. GUI was storing selected language as index to the languages list. This is fragile since the order and count of items can change. This commit changes to using ISO language code (e.g. "en" for "English"). Fixes ticket #2446 (GUI: Don't use index number for language selection) 2011-02-06 Kimmo Varis * gui/translationhandler.cpp, gui/translationhandler.h: GUI: Refactoring translation handling. Instead of separate language name and filename lists use one list of structs. This makes language name and filename more connected and makes handling of them easier. 2011-02-06 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Remove unneeded translation code. 2011-02-06 Kimmo Varis * gui/translationhandler.cpp: GUI: Sort the languages list. 2011-02-06 Daniel Marjamäki * createrelease: createrelease: updated the instructions 2011-02-06 Daniel Marjamäki * Makefile: Makefile: set debug mode 2011-02-06 Daniel Marjamäki * Makefile: 1.47: Updated Makefile for release 2011-02-06 Daniel Marjamäki * Changelog: 1.47: Updated Changelog 2011-02-06 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.47: Updated versions 2011-02-06 Daniel Marjamäki * man/manual.docbook: manual: updated for 1.47 release 2011-02-06 Daniel Marjamäki * readme.txt: readme: tweaked the 'compiling cppcheck' section 2011-02-06 Zachary Blair * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h: Ticket #2388. Added more detail to the 'exceptRethrowCopy' error message. 2011-02-06 Zachary Blair * : commit 2506c7db5cac7a04a143ca2f0d8fecbe0d9c22ba Author: Daniel Marjamäki Date: Sun Feb 6 10:04:28 2011 +0100 2011-02-06 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Added a comment about sizeof for struct/class. We always assume that the size is 100 2011-02-05 Kimmo Varis * .gitignore: Add .obj files to gitignore. 2011-02-05 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_fr.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2011-02-05 Kimmo Varis * win_installer/config.wxi: Installer: Update CLI build directory. 2011-02-05 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Add French translation to installer. 2011-02-05 Kimmo Varis * gui/gui.pro: GUI: Add French translation to project file. 2011-02-05 Reijo Tomperi * cli/cmdlineparser.cpp: Improve --help listing by removing duplicate options list and using lt and gt characters for option arguments. 2011-02-05 Reijo Tomperi * man/cppcheck.1.xml: Update man page to contain more info about --rule options. 2011-02-05 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2011-02-05 Daniel Marjamäki * cli/cmdlineparser.cpp: Cppcheck: Added short info about --rule and --rule-file to --help output 2011-02-05 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2011-02-05 Kimmo Varis * gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Fix reading multiple error locations from XML. 2011-02-05 Kimmo Varis * : commit f279fcd351e5331551b34ab0f7c26730eb0af068 Author: Kimmo Varis Date: Sat Feb 5 16:07:59 2011 +0200 2011-02-05 Kimmo Varis * gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Read XML format version 2 files. Implement the parsing of XML format v2 error data. 2011-02-05 Daniel Marjamäki * scripts/tabs.pl, test/testclass.cpp, test/testmathlib.cpp, test/testnullpointer.cpp, test/testuninitvar.cpp: scripts: added tabs.pl - in my opinion it is bad to use tabs inside string constants. spaces or \t should be used instead. 2011-02-05 Kimmo Varis * gui/resultsview.cpp, gui/xmlreport.h, gui/xmlreportv1.cpp, gui/xmlreportv1.h, gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Read ErrorItems instead of ErrorLines from XML report. XML report format 1 only had error "lines" that we promoted to "items" when adding to GUI. XML report format 2 contains error "items" so change the code to read items and do the promotion directly when reading and parsing the data. 2011-02-05 Kimmo Varis * gui/resultsview.cpp, gui/xmlreport.cpp, gui/xmlreport.h, gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Determine the XML report format before reading report. 2011-02-05 Zachary Blair * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, test/testexceptionsafety.cpp: Fixed #2388 (Use throw without argument to rethrow exceptions) 2011-02-05 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Replace __null with 0 (gcc constant) 2011-02-05 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2547 (segmentation fault of cppcheck) 2011-02-05 Sébastien Debrard * : commit c078d804b98d484e242e81683260aed5d2bd94d1 Author: Reijo Tomperi Date: Sat Feb 5 00:40:12 2011 +0200 2011-02-05 Kimmo Varis * gui/xmlreport.cpp, gui/xmlreport.h, gui/xmlreportv1.cpp, gui/xmlreportv2.cpp: GUI: Quote special chars in the XML output. Fixes ticket #2543 (GUI: Xml report does not quote special characters) 2011-02-04 Kimmo Varis * gui/gui.pro, gui/resultsview.cpp, gui/xmlreport.cpp, gui/xmlreport.h, gui/xmlreportv1.cpp, gui/xmlreportv1.h, gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Add base class for XML report classes. A base class is needed for e.g. some common routines that can be shared between the formats. 2011-02-04 Daniel Marjamäki * gui/cppcheck_se.ts: GUI: Updated the swedish translation 2011-02-03 Kimmo Varis * gui/gui.pro, gui/mainwindow.cpp, gui/report.h, gui/resultsview.cpp, gui/xmlreportv2.cpp, gui/xmlreportv2.h: GUI: Write XML version 2. Ticket #2521 (GUI: Add XML format 2 support) 2011-02-04 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2498 (False positive: redundant assignment) 2011-02-04 Stefan Weil * cli/cmdlineparser.cpp: Add missing \n in CLI help. 2011-02-04 Daniel Marjamäki * lib/checkother.h: Fixed #2531 (False positive: Redudant assignment to itself) 2011-02-04 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2503 (false positive: memory leak (struct member, address is taken)) 2011-02-04 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2539 (segmentation fault of cppcheck) 2011-02-04 Robert Reif * lib/checkmemoryleak.cpp: Fixed #2546 (make CheckMemoryLeakInClass also check structures) 2011-02-04 Daniel Marjamäki * lib/errorlogger.cpp, test/testerrorlogger.cpp: Fixed #2544 (XML output does not specify encoding used) 2011-02-04 Kimmo Varis * lib/checkother.cpp, lib/checkpostfixoperator.cpp, lib/checkstl.cpp: Clarify few verbose messages. Dan pointed out to me earlier that he wants both short- and verbose messages to be independently understandable. So modifying some verbose messages to be easier to understand without the short message. 2011-02-04 Sébastien Debrard * : commit 39c68e12cedec7424f64751398f1d6995e689ffe Author: Daniel Marjamäki Date: Thu Feb 3 22:29:32 2011 +0100 2011-02-03 Daniel Marjamäki * lib/check.h, test/testcppcheck.cpp: astyle formatting 2011-02-03 Tim Gerundt * : commit 53492209fc892557a82bd30d72ec555bc21b44cb Author: Tim Gerundt Date: Thu Feb 3 21:23:03 2011 +0100 2011-02-03 Tim Gerundt * htdocs/devinfo/index.php: Web: Add 'View all commits' link to devinfo page 2011-02-03 Tim Gerundt * htdocs/devinfo/index.php: Web: Add last Trac timeline items to devinfo page 2011-02-03 Tim Gerundt * htdocs/devinfo/index.php: Web: Add RSS link to Trac Timeline 2011-02-03 Kimmo Varis * test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Update VS 2008/2010 project files for tests. 2011-02-03 Kimmo Varis * cli/cmdlineparser.cpp, cli/pathmatch.cpp, test/testcmdlineparser.cpp, test/testpathmatch.cpp: Allow to exclude filenames (with paths). This expands the CLI exclude feature to also allow excluding filenames (with paths). When filename with recognized extension is given to -i option then matching filenames (with paths) are ignored when checking. Ticket #2538 (Allow excluding files from the checking) 2011-02-03 Kimmo Varis * cli/filelister.h, cli/filelister_unix.cpp: Make FileLister::acceptFile() a static method. We don't need different acceptFile() implementations per platform so it is better to have one static method. 2011-02-03 Kimmo Varis * test/testerrorlogger.cpp: Add test for XML format version 2. 2011-02-03 Kimmo Varis * cli/pathmatch.cpp, test/testpathmatch.cpp: Tighten the directory name mathing with -i. Only match full directory names as parts of whole paths. So -isrc matches src/file.cpp and proj/src/file.cpp. But does not match mysrc/file.cpp or proj/srcfiles/file.cpp. 2011-02-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2536 (cppcheck hangs with 100% cpu load) 2011-02-03 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp: Fixed #2537 (segmentation fault of cppcheck) 2011-02-02 Raphael Geissert * rules/error-reporting.xml, rules/stl.xml: Add a few more rules 2011-02-02 Raphael Geissert * rules/token-matching.xml: Add rules for tokAt(0) and strAt(0), suggested by reif 2011-02-02 Kimmo Varis * test/test.pro: Add testsymboldatabase.cpp to test.pro. Also add comment explaining omitting testfilelister_unix.cpp. 2011-02-02 Raphael Geissert * lib/tokenize.cpp: A few more Token::Match -> ::simpleMatch replacements 2011-02-02 Raphael Geissert * rules/token-matching.xml: Yet another tweak to the regex, use ungreedy mode 2011-02-02 Raphael Geissert * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Use Token::simpleMatch where no special patterns are needed 2011-02-02 Raphael Geissert * lib/cppcheck.cpp: Try to match custom rules as many times as possible, not just once 2011-02-02 Raphael Geissert * lib/cppcheck.cpp: Remove uneeded indentation 2011-02-02 Raphael Geissert * lib/checkautovariables.cpp, lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checknullpointer.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/executionpath.cpp, lib/preprocessor.cpp, lib/tokenize.cpp: Use Token::simpleMatch where no patterns are used 2011-02-02 Raphael Geissert * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Remove useless spacing at the end of *Match strings 2011-02-02 Raphael Geissert * rules/token-matching.xml: Also detect useless spacing at the end of *Match calls 2011-02-02 Raphael Geissert * cli/cmdlineparser.cpp: Support multiple rules in a single XML file 2011-02-02 Raphael Geissert * rules/token-matching.xml: Introduce some rules for checking cppcheck's use of Token::*Match 2011-02-02 Kimmo Varis * : commit d592250284cdf3f1ded17814c29ea4bae06b3126 Author: Raphael Geissert Date: Wed Feb 2 10:56:02 2011 -0600 2011-02-02 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/errorlogger.cpp, lib/errorlogger.h, test/testerrorlogger.cpp: xml2: added element 2011-02-02 Daniel Marjamäki * : commit 1a83e3ef8124cffaa43d900dc4c71b79f7772def Author: Kimmo Varis Date: Tue Feb 1 23:02:07 2011 +0200 2011-02-01 Kimmo Varis * cli/pathmatch.cpp: Don't check empty paths for path ignore. 2011-02-01 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Update VS2008/VS2010 project files. 2011-02-01 Kimmo Varis * Makefile, test/testpathmatch.cpp, tools/dmake.cpp: Run dmake to update Makefile. 2011-01-31 Kimmo Varis * cli/cli.pro, cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheckexecutor.cpp, cli/pathmatch.cpp, cli/pathmatch.h, test/test.pro, test/testcmdlineparser.cpp, test/testpathmatch.cpp: Add CLI support for ignoring paths. Add support for giving list of ignored paths from CLI. This way user can define paths one doesn't want to check (like generated code). This first simple implementation only does exact matching, no support for wildcards etc. And matching is always agains dir names. If the filtered dir name is part of the checked filename then the file is ignored. Ticket #1690 (Ability to exclude files and directories from checks) 2011-02-02 Kimmo Varis * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Imrove --xml-version option parsing. Allow --xml-version parsing to recognize also version 1 and print errors about invalid values. 2011-02-02 Kimmo Varis * test/testcmdlineparser.cpp: Add couple of tests for xml-version cmd line option. 2011-02-02 Kimmo Varis * cli/cmdlineparser.cpp: Expose --xml-version=version cmd line option. Make the --xml-version=version command line option public by adding it to the command line help. 2011-02-02 Greg Hewgill * lib/check.h: use instances of less to compare pointers for list::sort() 2011-02-02 Greg Hewgill * lib/check.h, lib/checkautovariables.h, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkexceptionsafety.h, lib/checkmemoryleak.h, lib/checknullpointer.h, lib/checkobsoletefunctions.h, lib/checkother.h, lib/checkpostfixoperator.h, lib/checkstl.h, lib/checkuninitvar.h, lib/checkunusedfunctions.h: initialise Check::_name in constructor rather than relying on virtual Check::name() 2011-02-02 Greg Hewgill * test/testcppcheck.cpp: test case to check whether instances are sorted 2011-02-02 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #2530 (Tokenizer: Remove redundant 'MyClass::' inside MyClass class declaration) 2011-02-02 Sébastien Debrard * : commit defeded4b56eb272aa96db1475754a1895724dbe Author: Daniel Marjamäki Date: Tue Feb 1 21:46:07 2011 +0100 2011-02-01 Tim Gerundt * .gitignore: Drop htdocs/ from gitignore 2011-02-01 Tim Gerundt * readme.txt: Switch website URL in readme.txt 2011-02-01 Tim Gerundt * : commit 015fa92b4a98590692c9fefbaf9a7b7df2b5ecd2 Merge: 606a90a b7494d5 Author: Sébastien Debrard Date: Tue Feb 1 19:30:00 2011 +0100 2011-02-01 Tim Gerundt * : commit c2de1a8a52d21a37ee49ecf21be16abc9b3c0f09 Author: Kimmo Varis Date: Mon Jan 31 22:49:52 2011 +0200 2011-02-01 Pete Johns * cli/filelister_win32.cpp: Astyle formatting. 2011-02-01 Pete Johns * test/testother.cpp: Turned failing ASSERT_EQUALS into TODO_ASSERT_EQUALS. 2011-02-01 Pete Johns * : Merge https://github.com/ghewgill/cppcheck 2011-01-31 Sébastien Debrard * : commit 3e558fdada3b42c1af4deeafe4eea04d7e2c14ad Author: Sébastien Debrard Date: Mon Jan 31 23:51:13 2011 +0100 2011-01-31 Robert Reif * cppcheck.cppcheck, gui/gui.cppcheck: Ticket #2522 (update project files to fix missing include messages) 2011-02-01 Greg Hewgill * test/testother.cpp: check that misused scope object does not pick nested class 2011-01-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2525 (False positive 'Possible null pointer dereference') 2011-01-31 Daniel Marjamäki * cli/filelister_win32.cpp, test/testbufferoverrun.cpp, test/testpreprocessor.cpp: astyle formatting 2011-01-31 Ettl Martin * : commit f3111b541ee117c09bafd62f8333718e5ddf5bd8 Author: Ettl Martin Date: Mon Jan 31 13:46:51 2011 +0100 2011-01-31 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2011-01-31 Kimmo Varis * gui/settings.ui: GUI: Reword the option for checking all #ifdefs. The current wording was confusing (espcially related to CLI) since it said the option will make Cppcheck to check all #ifdef configs. But this really is case only when there is excessive amount of those configs and without the option some would be ignored. So format the option text in line of CLI switch and say it is forcing not enabling checking of all configurations. 2011-01-31 Kimmo Varis * gui/csvreport.cpp, gui/txtreport.cpp: GUI: Write error summary to CSV and TXT reports. It makes more sense to write the one-line summary to TXT and especially to CSV reports. Long multi-line verbose messages ruin the layout these files. 2011-01-31 Kimmo Varis * gui/xmlreport.cpp: GUI: Fill summary data when reading XML file. When reading XML file there is no summary data stored so we must dublicate the message data to summary. Since message can be long try to find full stop from the message and cut summary to it. Ticket: #2402 ([GUI] Summary is not shown for loaded .xml file) 2011-01-31 Kimmo Varis * Makefile, tools/dmake.cpp: Cleanup makefile a bit. Align object file lists first line. Remove excessive use of tabs. 2011-01-30 Raphael Geissert * lib/preprocessor.cpp: Formatting, sorry 2011-01-30 Raphael Geissert * lib/preprocessor.cpp: Minor optimisations to the preprocessor 2011-01-30 Raphael Geissert * lib/preprocessor.cpp: Reduce std::string::find() abuse 2011-01-30 Raphael Geissert * lib/preprocessor.cpp, test/testpreprocessor.cpp: Handle "#endif !defined" conditionals 2011-01-30 Raphael Geissert * lib/preprocessor.cpp, test/testpreprocessor.cpp: Check for cpp conditionals where a define is already guaranteed 2011-01-30 Sébastien Debrard * : commit 098f0bf3e659436eedae2655d78eb1867576f728 Author: Pete Johns Date: Sun Jan 30 22:54:19 2011 +1100 2011-01-30 Pete Johns * cli/filelister_win32.cpp: astyle formatting. 2011-01-30 Raphael Geissert * lib/checknullpointer.cpp: Detect null pointer dereferences for many FILE-related functions Ticket #1415: check for calling f{eof,read,close,...} with NULL 2011-01-30 Raphael Geissert * lib/preprocessor.cpp, test/testpreprocessor.cpp: Remove duplicated defines After simplifying define(A) conditionals, the final list of configurations could end up containing duplicate items. Ticket #1468 2011-01-30 Robert Reif * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: less conservative checking of classes. ticket: #2517 2011-01-30 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Tokenizer: remove some unhandled macros in the global scope. ticket: #2523 2011-01-29 Sébastien Debrard * : commit 0624e418f108835da1c2d243b451438a1497ba06 Author: Daniel Marjamäki Date: Sat Jan 29 18:46:55 2011 +0100 2011-01-29 Kimmo Varis * test/testcmdlineparser.cpp: Several fixes to cmd line tests. There were several tests handling two parameters as one string. Eg. "-I path" which doesn't work correctly. Fixed these problematic tests. 2011-01-29 Kimmo Varis * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Make --exitcode-suppressions option consistent. The --exitcode-suppressions option was inconsistent with other long options by taking the filename as separate argument. Now it expects format --exitcode-suppressions=filename.txt like other long options. Ticket: #1837 (--suppresions file.txt inconsistent) 2011-01-29 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Better simplifications of static constants 2011-01-28 Sébastien Debrard * : commit 081e3642980aa7809976fddb7ef1a45ea9bf49d4 Author: Kimmo Varis Date: Fri Jan 28 13:18:07 2011 +0200 2011-01-28 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2505 (Check processing of a preprocessor macro 'FREE') 2011-01-28 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: Symbol database: better unit testing. ticket: #2468 2011-01-28 Kimmo Varis * cli/cmdlineparser.cpp: Add --errorlist to CLI help. Fixes ticket #2253 (Make CLI error listing documented and public switch) 2011-01-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2518 (Crash when checking rockbox's firmwire) 2011-01-27 Sébastien Debrard * : commit 524498e439b988e1c13a917b4ff59f5a6b797324 Author: Daniel Marjamäki Date: Thu Jan 27 18:44:20 2011 +0100 2011-01-27 Kimmo Varis * test/testcmdlineparser.cpp: Add cmd line parser tests for XML ver 2 options. 2011-01-27 Kimmo Varis * gui/aboutdialog.cpp: GUI: Update homepage URL to About-dialog. 2011-01-27 Kimmo Varis * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, test/testcmdlineparser.cpp: Don't stop processing cmd line after --errorlist. Ticket #2441 (Parsing of command line arguments breaks after --errorlist) Instead of stopping processing command line options after --errorlist process them all. This way e.g. --verbose can be given also after the --errorlist. 2011-01-27 Kimmo Varis * cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheckexecutor.cpp: Don't print "files not found" after showing help. Fix ticket #2496 (Is error reporting for an unneeded parameter wrong?) There are several command line options / commands after which we don't want Cppcheck to even try to open any files. Eg. printing help or listing errors. So add new attribute for CmdLineParser to track use of these options and exit before checking files when the attribute is set. 2011-01-27 Kimmo Varis * gui/erroritem.cpp: Fix formatting of debug messages to log view. Ticket #2513 (GUI: Garbage printed to log after missing include warning) The linenumber was not properly converted to the QString so there were garbage printed to the log. 2011-01-26 Kimmo Varis * gui/mainwindow.cpp: GUI: Enable warnings about missing include files. 2011-01-26 Sébastien Debrard * : commit 078c36921da4c650f0cb4f1edc7e6a56e7126d33 Author: Sébastien Debrard Date: Wed Jan 26 20:10:56 2011 +0100 2011-01-26 Sébastien Debrard * lib/checkother.cpp, test/testother.cpp: fix #2510 Improve check 'sizeof for array given as function argument' 2011-01-26 Sébastien Debrard * lib/checkother.cpp: typo: message 2011-01-25 Tim Gerundt * htdocs/index.php, htdocs/site/css/all.css: Web: Add "Download Now!" link 2011-01-25 Sébastien Debrard * : commit 4cf56dac2b421a2034fe37618fbf81a6f5e903b7 Author: Sébastien Debrard Date: Tue Jan 25 09:57:58 2011 +0100 2011-01-24 Sébastien Debrard * : commit a596a7a8fe656314ae3686d81894cfd26419ba14 Author: Daniel Marjamäki Date: Mon Jan 24 21:40:49 2011 +0100 2011-01-24 Sébastien Debrard * : commit c7b8bd543f885bb90838ccd4f86c32cc315a7d03 Author: Sébastien Debrard Date: Mon Jan 24 19:04:56 2011 +0100 2011-01-24 Daniel Marjamäki * cli/cmdlineparser.cpp: cleanup old ifdefs in cmdlineparser 2011-01-23 Sébastien Debrard * : commit 5b5e8ca5182bb34c7b3d4933fd9e515b0e5e07f8 Author: Sébastien Debrard Date: Sun Jan 23 23:09:31 2011 +0100 2011-01-23 Robert Reif * lib/symboldatabase.cpp: Symbol database: better handling of functions returning function pointer. ticket: #2468 2011-01-23 Sébastien Debrard * : commit 86ba9dc908352839af581b1d4db1ef349efd5b2d Author: Sébastien Debrard Date: Sun Jan 23 16:32:33 2011 +0100 2011-01-23 Daniel Marjamäki * test/testuninitvar.cpp: when using TODO_ASSERT_EQUALS it's a good idea to pair it with a ASSERT_EQUALS 2011-01-23 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Upon createLinks error, report error and bailout 2011-01-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2376 (simplifyTypedef: upx-ucl) 2011-01-23 Robert Reif * lib/symboldatabase.cpp: Symbol database: fixed corruptions. ticket: #2468 2011-01-23 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2493 (false positive: (error) Possible null pointer dereference: pExpr) 2011-01-23 Sébastien Debrard * : commit b5cd37e822966c9bed7ff2fdedc8e0ce1ea0d268 Author: Sébastien Debrard Date: Sun Jan 23 03:37:38 2011 +0100 2011-01-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #1952 (false negative: buffer acces out of bounds with memcpy) 2011-01-22 Debrard Sébastien * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #155 (check size of a variable whose type is a sized array) 2011-01-22 Sébastien Debrard * : commit 0984d556352b0e45d1464e7e9da283c6482ea997 Author: Tim Gerundt Date: Sat Jan 22 18:05:42 2011 +0100 2011-01-22 Sébastien Debrard * : commit 8abae6f1e52283454ecebf009811bd77d1943f35 Author: Robert Reif Date: Sat Jan 22 17:43:36 2011 +0100 2011-01-22 Daniel Marjamäki * lib/checkclass.cpp: Class: better check if there are friends. ticket: #2459 2011-01-22 Sébastien Debrard * : commit 000e03c85dba722844c8f4275565584cad212a96 Author: Sébastien Debrard Date: Sat Jan 22 14:06:02 2011 +0100 2011-01-22 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2492 (False positive: memory leak 'return &self->foo;') 2011-01-22 Daniel Marjamäki * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #2459 (False positive with unused private function and friend) 2011-01-22 Daniel Marjamäki * lib/tokenize.cpp: Fixed #2484 (false positive because template is not instantiated properly) 2011-01-22 Sébastien Debrard * lib/checkother.cpp, test/testother.cpp: ticket 155 2011-01-22 Sébastien Debrard * : commit bc31f317bca078d3025b331b7b109ec160ba6b66 Author: Daniel Marjamäki Date: Sat Jan 22 09:27:16 2011 +0100 2011-01-22 Robert Reif * lib/symboldatabase.cpp: Symbol database: Fixed memory leak. ticket: #2468 2011-01-22 Robert Reif * lib/tokenize.cpp: Tokenizer: Only create 1 symbol database. ticket: #2468 2011-01-22 Sébastien Debrard * : commit a83aced2ec9c97b571b34f64c487343fc0fee96e Author: Ettl Martin Date: Fri Jan 21 23:48:42 2011 +0100 2011-01-21 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake and Makefile updates 2011-01-21 Sébastien Debrard * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: ticket 155 2011-01-21 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2478 (Crash when trying to analyze files (CheckClass::checkReturnPtrThis)) 2011-01-21 Sébastien Debrard * : commit bcfc751056e03574da70c84c8cc7a3fec46afd17 Author: Sébastien Debrard Date: Fri Jan 21 19:50:59 2011 +0100 2011-01-21 Daniel Marjamäki * Makefile: Makefile: updated with dmake 2011-01-21 Robert Reif * lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp: Symbol database: rename variables. ticket: #2468 2011-01-20 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2488 (false positive with updating iterator in a for loop) 2011-01-20 Daniel Marjamäki * cli/cmdlineparser.cpp: CLI: updated help text for --inline-suppr. Thanks rubicon_hdr for the suggestion 2011-01-20 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2481 (false positive with break: After insert, the iterator '*' may be invalid) 2011-01-20 Robert Reif * lib/symboldatabase.cpp: Symbol database: refactoring of classAndStructTypes parsing. ticket: #2468 2011-01-19 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2481 (false positive with 'break;': After insert, the iterator '*' may be invalid) 2011-01-19 Daniel Marjamäki * test/testincompletestatement.cpp: added unit test for #2482 2011-01-19 Daniel Marjamäki * lib/checkother.cpp, test/testincompletestatement.cpp: Fixed #2462 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant) 2011-01-19 Pete Johns * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #2480 (false positive on unused private function) 2011-01-19 Daniel Marjamäki * lib/symboldatabase.h: Fixed #2483 (SymbolDatabase compiler warning (VS2008/VS2010)) 2011-01-18 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Update Visual Studio project files. Update Visual Studio 2008/2010 project files after moving filelister* files from lib/ to cli/. 2011-01-18 Kimmo Varis * Makefile, cli/cli.pro, cli/filelister.cpp, cli/filelister.h, cli/filelister_unix.cpp, cli/filelister_unix.h, cli/filelister_win32.cpp, cli/filelister_win32.h, lib/cppcheck.cpp, lib/filelister.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h, lib/lib.pri, lib/tokenize.cpp, test/test.pro, tools/Makefile, tools/dmake.cpp: Move filelister* to cli. Ticket #2445 (Move FileLister classes from LIB to CLI). 2011-01-18 Kimmo Varis * lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h, lib/path.cpp, lib/path.h, lib/tokenize.cpp: Move sameFileName() method to Path class. Ticket #2445 (Move FileLister classes from LIB to CLI). Moving sameFileName() to Path allows moving FileLister* classes to CLI. 2011-01-18 Pete Johns * test/testunusedprivfunc.cpp: Added testDoesNotIdentifyCallback for #2480 TODO 2011-01-18 Pete Johns * : commit ea01c04108052921e29b81b84b6497c8670f2107 Author: Pete Johns Date: Tue Jan 18 21:07:33 2011 +1100 2011-01-18 Pete Johns * lib/symboldatabase.cpp: Refactored to remove code duplication. 2011-01-18 Pete Johns * lib/symboldatabase.cpp, test/testsymboldatabase.cpp: Made isVariableDeclarationIdentifiesTemplatedPointerToPointerVariable() pass. And added isVariableDeclarationIdentifiesTemplatedArrayVariable() (passing) into the bargain. 2011-01-18 Pete Johns * test/testsymboldatabase.cpp: Added TODO test cases for template variables with multiple levels of pointer indirection Following email from Robert Reif 2011-01-18 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testconstructors.cpp: Fixed #2474 (false positive: Member variable 'A::m_SemVar' is not initialised in the constructor.) 2011-01-18 Robert Reif * lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: Refactor the variables API. ticket: #2468 2011-01-17 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2475 (False positive in structure initialisation: The scope of the variable bits can be reduced) 2011-01-17 Kimmo Varis * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Improve checking -D arguments for command line. 2011-01-17 Kimmo Varis * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: Fix crash when giving -D without argument. Fixes ticket #2476 (Crash when -D used without parameters.) 2011-01-17 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkuninitvar.cpp, test/testnullpointer.cpp: Fixed #2467 (false positive: possible nullptr dereference) 2011-01-17 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2473 (False positive: Memory leak when there is local struct) 2011-01-17 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp, test/testsymboldatabase.cpp: Symbol database: renamed classes. ticket: #2468 2011-01-17 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/tokenize.cpp, test/testsymboldatabase.cpp: Symbol database: pulled out classes into global scope. ticket: #2468 2011-01-16 Zachary Blair * lib/checkother.cpp: Fixed #2457 (CheckOther::checkIncorrectLogicOperator: hang if variable id is 0) 2011-01-17 Pete Johns * lib/preprocessor.cpp: Fixed gcc warning. 2011-01-02 Pete Johns * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp: isVariableDeclaration() now detects template variables. 2011-01-01 Pete Johns * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp, test/testsymboldatabase.cpp: Moved array declaration detection into isVariableDeclaration() 2011-01-16 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h: Refactoring: Check if type is class/struct through symbol database 2011-01-16 Daniel Marjamäki * lib/checkother.cpp, test/testcppcheck.cpp: Fixed #2302 (Duplicate id 'unusedVariable') 2011-01-16 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/tokenize.cpp, lib/tokenize.h: Symbol database: increased constness. ticket: #2468 2011-01-16 Daniel Marjamäki * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, lib/cppcheck.cpp: cppcheck: output errorlist to stdout 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: check that Cppcheck::getErrorMessages output is not empty 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: test Cppcheck::getErrorMessages 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: cleanup 2011-01-16 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: Refactorings. Move check-specific code to check. Ticket: #2468 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: removed 'parseArgsAndCheck' and 'parseOutputtingArgs'. Such tests belong to testcmdlineparser 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: removed nonexistingpath and include tests. The Cppcheck class doesn't handle this. 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: the xml and template output is tested in testerrorlogger instead 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: the testcmdlineparser tests invalid command line arguments 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: linenumbers are tested in the other tests 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: command line parsing of -D is tested in testcmdlineparser.cpp 2011-01-16 Daniel Marjamäki * test/testcppcheck.cpp: testcppcheck: parsing templates is tested in testcmdlineparser.cpp 2011-01-16 Tim Gerundt * htdocs/devinfo/index.php, htdocs/site/js/github.js: Web: Add recent commits to devinfo page 2011-01-16 Daniel Marjamäki * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #2407 (False positive: unused private function) 2011-01-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2449 (segfault in tokenize.cpp, incorrect parsing) 2011-01-16 Raphael Geissert * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: simplify restrict 2011-01-16 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #980 (false negative: division by zero when using enum) 2011-01-16 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp: Symbol database: Refactorings 2011-01-16 Daniel Marjamäki * lib/checkmemoryleak.cpp: astyle formatting 2011-01-16 Daniel Marjamäki * lib/checkmemoryleak.cpp: Memory leaks: Optimised and refactored 2011-01-15 Daniel Marjamäki * lib/checkstl.cpp: STL: Optimised checking 2011-01-15 Daniel Marjamäki * lib/checkother.cpp: fixed unit test 2011-01-15 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h: Optimising: about 5% improvement with Visual Studio executable 2011-01-15 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2463 (false positive: possible nullpointer dereference) 2011-01-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2454 (Tokenizer::simplifyKnownVariables: problem with float/double variables) 2011-01-15 Daniel Marjamäki * test/testtokenize.cpp: removed old comment 2011-01-15 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2466 (Tokenizer: simplification of enum) 2011-01-15 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2464 (False positive: not initialised/not assigned Static variable in copy constructors.) 2011-01-15 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp: Fixed #2465 (False positive: not initialised variable, but there is default constructor for it.) 2011-01-14 Tim Gerundt * htdocs/index.php, htdocs/site/css/all.css, htdocs/site/simplepie/LICENSE.txt, htdocs/site/simplepie/README.txt, htdocs/site/simplepie/cache/dummy.txt, htdocs/site/simplepie/simplepie.inc: Web: Add News to homepage 2011-01-14 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2451 (False positive when incrementing map value via iterator) 2011-01-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2452 (syntax error when 'void f(typedef int x)' is used. causes segmentation fault.) 2011-01-13 Kimmo Varis * gui/settingsdialog.cpp: GUI: Fix compiler warning from GCC. Thanks for vBm for reporting this! 2011-01-13 Kimmo Varis * lib/cppcheck.h: Fix doxgen comment. 2011-01-13 Kimmo Varis * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp: Add couple of missing path separator conversions. 2011-01-13 Kimmo Varis * lib/cppcheck.cpp, lib/cppcheck.h: Modify Cppcheck::addFile() only take one file as a parameter. CLI and GUI already do the directory walking for us and we have list of files to check. So we were duplicating this directory walking. Practically doing check again for each file if it is a directory. Which can take some time with large amount of files. 2011-01-13 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2450 (False positive when iterator reused) 2011-01-13 Daniel Marjamäki * lib/checkother.cpp, test/testincompletestatement.cpp: Fixed #2458 (false positive: (warning) Redundant code: Found a statement that begins with numeric constant) 2011-01-12 Zachary Blair * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2434 (FP memleakOnRealloc) 2011-01-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #2440 (False negative: basic memory leak) 2011-01-11 Kimmo Varis * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/preprocessor.cpp, test/testcmdlineparser.cpp: Accept include paths ending with backslash. Convert include path to use internal path separators when parsing command line. Convert back to native separators when using paths. Ticket #2448 (Error in handling -I command line parameter) 2011-01-11 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2296 (Tokenizer: simplifyKnownVariable doesn't simplify pointer properly 'delete [] p;') 2011-01-11 Tim Gerundt * htdocs/devinfo/index.php: Web: Add Atom link to Recent Commits to cppcheck:master 2011-01-10 Daniel Marjamäki * scripts/define.pl: scripts: Added define.pl that warns if #define is used. Related with ticket #689 2011-01-10 Daniel Marjamäki * htdocs/build.bat: removed unused htdocs/build.bat 2011-01-10 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2443 (Possible null pointer dereference: xxx - otherwise it is redundant to check if xxx is null at line) 2011-01-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2442 (False positive: Memory leak when function returns in 'if' instead of 'else if') 2011-01-10 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2011-01-10 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Remove Language-menu. We now have language selection in Settings-dialog. 2011-01-10 Kimmo Varis * gui/mainwindow.cpp, gui/settings.ui, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/translationhandler.cpp: GUI: Add language selection panel to settings-dialog. Settings-dialog is more natural place for language selection than the main menu. We also have more space and freedom there to have longer text etc to make the selection easier (menus are quite limited controls). 2011-01-09 Reijo Tomperi * cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/main.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkstatistics.cpp, gui/checkstatistics.h, gui/checkthread.cpp, gui/checkthread.h, gui/common.h, gui/csvreport.cpp, gui/csvreport.h, gui/erroritem.cpp, gui/erroritem.h, gui/filelist.cpp, gui/filelist.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/helpwindow.cpp, gui/helpwindow.h, gui/logview.cpp, gui/logview.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/project.cpp, gui/project.h, gui/projectfile.cpp, gui/projectfile.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h, gui/report.cpp, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/statsdialog.cpp, gui/statsdialog.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, gui/translationhandler.cpp, gui/translationhandler.h, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h, lib/check.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/checkother.cpp, lib/checkother.h, lib/checkpostfixoperator.cpp, lib/checkpostfixoperator.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkuninitvar.cpp, lib/checkuninitvar.h, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/filelister.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h, lib/mathlib.cpp, lib/mathlib.h, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h, lib/symboldatabase.cpp, lib/symboldatabase.h, lib/timer.cpp, lib/timer.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, man/cppcheck.1.xml, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testcmdlineparser.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdivision.cpp, test/testerrorlogger.cpp, test/testexceptionsafety.cpp, test/testfilelister_unix.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp, test/testother.cpp, test/testpath.cpp, test/testpostfixoperator.cpp, test/testpreprocessor.cpp, test/testrunner.cpp, test/testsettings.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testsymboldatabase.cpp, test/testthreadexecutor.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testuninitvar.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, test/testutils.h, tools/dmake.cpp: Change year 2010 -> 2011 in license texts. 2011-01-09 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #1219 (improve check: null pointer not detected 'if (p) return; *p = 0;') 2011-01-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2211 (false negative: buffer access out of bounds for(int i=0; i !=6;i++)) 2011-01-09 Daniel Marjamäki * test/testtokenize.cpp: astyle formatting 2011-01-09 Tim Gerundt * htdocs/devinfo/index.php: Web: Change title from devinfo page 2011-01-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2429 (Tokenizer: Wrong simplification of 'sizeof .1250E+04') 2011-01-09 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h: Fixed #2409 (print a warning if provided path (commandline option -I [PATH]) does not exist) 2011-01-08 Tim Gerundt * htdocs/index.php: Web: Add RSS link to project news 2011-01-08 Tim Gerundt * htdocs/site/css/all.css: Web: Tweak style sheets for printing 2011-01-08 Tim Gerundt * htdocs/index.php: Web: Add meta description to homepage 2011-01-08 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2437 (false positive: possible null pointer dereference: tok2) 2011-01-08 Tim Gerundt * htdocs/devinfo/index.php: Web: Add "Source Code" paragraph to devinfo page 2011-01-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Error message: Replace " with ' around variable name 2011-01-08 Daniel Marjamäki * man/buildman.sh: buildman: build writing-rules-3.pdf 2011-01-08 Daniel Marjamäki * man/writing-rules-3.docbook: Writing rules: minor tweak for the C++ intro 2011-01-08 Daniel Marjamäki * man/writing-rules-3.docbook: Writing rules: Added one more example for the C++ intro 2011-01-08 Daniel Marjamäki * lib/checkother.cpp: Fixed #2433 (strtol: false positive when strtol isn't used in function call) 2011-01-07 Daniel Marjamäki * gui/erroritem.h, lib/filelister_win32.cpp, lib/preprocessor.cpp: astyle formatting 2011-01-07 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #2428 (false alarm with code containing a throw clause) 2011-01-07 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: fix bug when determining location when there is a missing include. ticket: #2326 2011-01-07 Robert Reif * test/testclass.cpp: Fixed #2425 (segmentation fault of cppcheck) 2011-01-07 Tim Gerundt * : commit 9fbbb910901ba2df61b79799024efeae34a8d415 Author: Tim Gerundt Date: Fri Jan 7 16:04:01 2011 +0100 2011-01-07 Tim Gerundt * htdocs/.htaccess, htdocs/devinfo/index.php, htdocs/index.php: Web: Move devinfo.html to a new place 2011-01-07 Tim Gerundt * htdocs/site/css/all.css: Web: Add separator to tab items 2011-01-07 Tim Gerundt * htdocs/index.php, htdocs/site/css/all.css: Web: Move style sheets to own file 2011-01-07 Ettl Martin * lib/filelister_win32.cpp, test/testmathlib.cpp: #ticket 2429: added a test to the mathlib to ensure the used floating point number is recognized correctly 2011-01-07 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2426 (### Internal error in Cppcheck. Please report it.) 2011-01-07 Robert Reif * lib/symboldatabase.cpp: Fixed #2425 (segmentation fault of cppcheck) 2011-01-06 Daniel Marjamäki * scripts/comment.pl: scripts: update 'comment.pl' so it understand /* 2011-01-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify NULL to 0 in the normal token list 2011-01-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: Preprocessor: Reverted fix for #2131, it didn't work well so a better fix is needed 2011-01-06 Kimmo Varis * gui/erroritem.h: GUI: Add comment about storing paths. 2011-01-06 Kimmo Varis * gui/resultstree.cpp: GUI: Convert path to native separators before copying it. Ticket #2424 (Windows GUI: "Copy full path" doesn't copy the visible full path if it has been changed in preferences) We keep paths internally with / separator and only convert to native separators (for Windows) when showing them. Conversion was missing from path copying function. 2011-01-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: memsetZeroBytes: improved error message. ticket: #2421 2011-01-06 Tim Gerundt * : commit 70a29ccb8a5e5a40435b5c00c3755aaaa9ad21d2 Author: Tim Gerundt Date: Thu Jan 6 13:32:04 2011 +0100 2011-01-06 Daniel Marjamäki * lib/checknullpointer.cpp: Null pointers: Added comments 2011-01-06 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Buffer overrun: Added comments 2011-01-06 Daniel Marjamäki * scripts/comment.pl: scripts: reduced false positives given by 'comments.pl'. given when declaring operator= 2011-01-06 Daniel Marjamäki * lib/checkstl.cpp: CheckStl: Added comments 2011-01-06 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: simple refactorings. and added a few comments 2011-01-06 Daniel Marjamäki * test/testother.cpp: astyle formatting 2011-01-06 Raphael Geissert * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: [PATCH] Check for calls to memset() where 0 bytes are to be filled Inspired by Silvio Cesare's work 2011-01-06 Daniel Marjamäki * scripts/magic-numbers.pl: scripts: improved the 'magic-numbers.pl' script 2011-01-06 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2413 (fflush() with NULL argument is valid.) 2011-01-06 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2415 (false positive: Member variable not initialized in constructor calling assignment operator) 2011-01-06 Robert Reif * test/testsimplifytokens.cpp: typedef: fixed problem. ticket: #2414 2011-01-05 Kimmo Varis * gui/mainwindow.cpp: GUI: Enable information messages. Dan added new enable-flag for information messages in commit 033e759. Enable that flag for GUI so that the information messages are visible in the GUI. 2011-01-05 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2411 (possible null pointer dereference (aborting via function pointer not detected)) 2011-01-05 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/checkclass.cpp, lib/checkother.cpp, lib/settings.cpp, test/testclass.cpp, test/testother.cpp: command line: added 'information' id to enable 2011-01-05 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2401 (false positive: Uninitialized variable: result) 2011-01-05 Daniel Marjamäki * lib/executionpath.cpp, test/teststl.cpp, test/testuninitvar.cpp: Uninitialized variables. Fixed false positive when there are multiple related conditions. ticket: #2399 2011-01-05 Tim Gerundt * : commit a0d62e041f426e2c4ce14c5e2880f96dcfb2d4f6 Author: Daniel Marjamäki Date: Wed Jan 5 19:38:22 2011 +0100 2011-01-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2412 (typedef: struct with inheritance) 2011-01-05 Robert Reif * lib/tokenize.cpp: typedef: better handling. ticket: #2414 2011-01-05 Zachary Blair * lib/checkobsoletefunctions.h: Removed an unnecessary newline in the message. Ticket #2343 2011-01-04 Zachary Blair * lib/checkobsoletefunctions.h: Fixed #2343 (The ftime obsolete function warning seems wrong) 2011-01-05 Tim Gerundt * htdocs/index.php: Web: Add a first version of a website 2011-01-04 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Improve suspicious condition (string::find) message. See forum thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2011-01-04 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Improve dangerous iterator usage (after erase()) message. See forum thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2011-01-03 Kimmo Varis * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Improve strncat 3rd parameter usage warning message. See forum thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2011-01-04 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #2399 (Tokenizer::simplifyKnownVariables: variables in conditions) 2011-01-04 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2398 (false positive: Uninitialized variable) 2011-01-04 Daniel Marjamäki * scripts/comment.pl, scripts/magic-numbers.pl, scripts/readme.txt: scripts: added a two simple perl scripts for checking code. 2011-01-04 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed #2393 (Token::Match called with varid 0) 2011-01-04 Daniel Marjamäki * : commit 85897c3991cacbceab2d121b989d6de9664f9f76 Merge: 45b6d09 2b1ec9a Author: Daniel Marjamäki Date: Tue Jan 4 18:17:39 2011 +0100 2011-01-04 Daniel Marjamäki * man/writing-rules-3.docbook: Writing rules: Added part 3. Introduction to writing rules with C++. 2011-01-04 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: typedef: delete unhandled typedefs. ticket: #2348 2011-01-04 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedef: fix testcase 4. ticket: #2375 2011-01-04 Robert Reif * lib/tokenize.cpp: Fixed #2400 (Tests crashing in Windows) 2011-01-03 Raphael Geissert * lib/checkmemoryleak.cpp: Mention the name of the variable in the inconclusive leak msg 2011-01-03 Markus Elfring * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Fixed #2389 (mistakable warning from 'CheckClass::uninitVarError') 2011-01-03 Markus Elfring * lib/checkother.cpp, test/testother.cpp: Bug #2390: Enclose the output of a variable name with quotes in "CheckOther::variableScopeError" The variable name output was enclosed by quotation marks in the member function "CheckOther::variableScopeError" and corresponding test functions. Signed-off-by: Markus Elfring 2011-01-02 Raphael Geissert * lib/tokenize.cpp, test/testsimplifytokens.cpp: Simplify "x = realloc (0, n);" to "x = malloc(n);" 2011-01-02 Raphael Geissert * lib/tokenize.cpp: Move simplification of realloc after simplification of math ops 2011-01-02 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedef: Fixed testcase. ticket: #2375 2011-01-02 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Buffer overruns: Added comments 2011-01-02 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2392 (Preprocessor: Wrong simplification of __VA_ARGS__) 2011-01-02 Daniel Marjamäki * test/testpreprocessor.cpp: Added TODO testcase for ticket #2392 (Preprocessor: Wrong simplification of __VA_ARGS__) 2011-01-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2391 (cstdlib file and memory function check misbehavior) 2011-01-02 Daniel Marjamäki * test/testsimplifytokens.cpp: typedef: added more tests. ticket: #2375 2011-01-01 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #2215 (Improve check: Writing outside malloc bounds not detected) 2011-01-01 Daniel Marjamäki * lib/tokenize.cpp: typedef: don't simplify typedef after 'case'. it means that there is a typedef and constant with the same names. Ticket: #2386 2011-01-01 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2246 (Improve check: Memory leak, function is not noreturn if return value is taken) 2011-01-01 Daniel Marjamäki * lib/checkuninitvar.cpp: uninitialized variables: Added some comments 2011-01-01 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed TODO testcase. Use symbol database instead of token list. Ticket: #2375 2011-01-01 Daniel Marjamäki * lib/checkmemoryleak.cpp: Added comments in the memory leaks checking 2011-01-01 Daniel Marjamäki * lib/checkmemoryleak.cpp: Memory leaks: localized variables 2011-01-01 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Added more comments 2011-01-01 Daniel Marjamäki * lib/tokenize.h: Tokenizer: Added doxygen comments 2011-01-01 Daniel Marjamäki * lib/tokenize.h: Tokenizer: added doxygen comments 2011-01-01 Daniel Marjamäki * Makefile, test/testcmdlineparser.cpp, test/testerrorlogger.cpp, test/testfilelister_unix.cpp, test/testpreprocessor.cpp, test/testtoken.cpp, tools/dmake.cpp: gcc: disabled -Wconversion again - too many warnings 2010-12-31 Zachary Blair * lib/checkother.cpp: Fixed #2382 (Catching exceptions by value instead of reference) 2010-12-31 Daniel Marjamäki * lib/executionpath.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp: Fixed #2386 (segmentation fault occurs in the checking when typedef has same name as an enum constant) 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checknullpointer.h: Null Pointer: Refactoring - broke out CheckNullPointer::isPointer 2010-12-31 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2378 (Refactoring: create utility function that skips redundant if/for/while) 2010-12-31 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2385 (False positive: array index out of bounds) 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: astyle formatting 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: added more comments 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: Added comments for CheckNullPointer::nullPointerLinkedList 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: Remove redundant condition 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: gcc: fixed compiler warning (suggest parantheses around assignment) 2010-12-31 Daniel Marjamäki * lib/checknullpointer.cpp: Refactoring and commenting CheckNullPointer::nullPointerAfterLoop 2010-12-31 Daniel Marjamäki * lib/checknullpointer.h: added doxygen comments 2010-12-31 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h: added some comments 2010-12-31 Pete Johns * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp, test/testsymboldatabase.cpp: Fixed #2384 ("The function 's::f' can be const" reported for pointer-to-pointer) Moved check for pointer variables into isVariableDeclaration() Can now handle multiple scopes and multiple levels of indirection. Simplified check for strucs and unions, too, reducing the size of getVarList(). skipScopeIdentifiers() and skipPointers() should probably be methods on class Token. 2010-12-31 Daniel Marjamäki * cli/threadexecutor.cpp: testrunner: fix runtime problems with TestThreadExecutor 2010-12-31 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2382 (Catching exceptions by value instead of reference) 2010-12-31 Daniel Marjamäki * cppcheck.cbproj, cppcheck.sln, lib/cppcheck.cpp, lib/symboldatabase.h, lib/tokenize.cpp: Borland C++: Fixed compiler errors 2010-12-31 Daniel Marjamäki * cli/threadexecutor.cpp, lib/checkbufferoverrun.cpp, lib/checkuninitvar.cpp, lib/tokenize.cpp: gcc: fixed -Wconversion errors 2010-12-31 Daniel Marjamäki * lib/symboldatabase.h: gcc: Fixed -Wconversion warnings in symbol database 2010-12-31 Daniel Marjamäki * lib/tokenize.cpp: gcc: fixed -Wconversion warnings in tokenizer 2010-12-31 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: gcc: fixed -Wconversion warnings 2010-12-30 Daniel Marjamäki * Makefile, test/testmathlib.cpp, test/testsuite.cpp, test/testsuite.h, tools/dmake.cpp: Added -Wconversion compiler flag. The ASSERT_EQUALS_DOUBLE was added that can be used when comparing double values. 2010-12-30 Daniel Marjamäki * lib/checkstl.cpp: improved TODO comments 2010-12-30 Daniel Marjamäki * lib/checkstl.cpp: CheckStl: Added comments 2010-12-30 Daniel Marjamäki * lib/settings.h, lib/tokenize.h: fixed doxygen warnings 2010-12-30 Daniel Marjamäki * lib/cppcheck.cpp: gcc: fixed compiler warning 2010-12-30 Daniel Marjamäki * lib/errorlogger.cpp: Added comments 2010-12-30 Daniel Marjamäki * cli/threadexecutor.cpp: usleep: use nanosleep instead of usleep as the usleep is obsolete. Ticket: #2283 2010-12-30 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: typeof doesn't dereference. Ticket: #2367 2010-12-30 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: Better handling of duplicate enums. Ticket: #2381 2010-12-30 Daniel Marjamäki * man/writing-rules-2.docbook: writing rules #2: tweaks. published 2010-12-30 Daniel Marjamäki * lib/checkpostfixoperator.cpp, test/testpostfixoperator.cpp: Fixed #2321 (false positive: (performance) Prefer prefix ++/-- operators for non-primitive types.) 2010-12-30 Daniel Marjamäki * man/cppcheck-design.docbook: Cppcheck design: more tweaks 2010-12-30 Daniel Marjamäki * man/writing-rules-1.docbook, man/writing-rules-2.docbook: writing rules: more tweaks 2010-12-30 Pete Johns * Makefile, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testsymboldatabase.cpp, test/testtoken.cpp, test/testutils.h: Refactoring following #2377 (Technically the member function xxx can be const) symboldatabase now recognises variables with arbitrarily many scopes. Extracted method isVariableDeclaration() Added unit tests for isVariableDeclaration in new file testsymboldatabase.cpp Extracted givenACodeSampleToTokenize helper class into testutils.h to reduce duplication. 2010-12-30 Pete Johns * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2377 (Technically the member function xxx can be const) TODO: Add unit test for getVarList() and refactor variable check. [Removed my testcase for #2377 and removed two TODOs.] 2010-12-30 Ettl Martin * test/testclass.cpp: const correctness: added further testcases for increment/decrement member functions 2010-12-30 Ettl Martin * test/testclass.cpp: ticket 2377: added further testcases 2010-12-30 Ettl Martin * : commit c29824fc4936e100057d37393fcccdfd6bec8f5f Author: Ettl Martin Date: Thu Dec 30 01:29:09 2010 +0100 2010-12-30 Pete Johns * build.txt: Added Mac OSX build instructins for PCRE. 2010-12-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2374 (False 'memory leak' report (assigning to map in subfunction)) 2010-12-29 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: simplifyTypedef: Better handling of 'typedef int RexxFunctionHandler();'. Ticket: #2348 2010-12-29 Robert Reif * lib/symboldatabase.cpp, lib/tokenize.cpp, test/testclass.cpp: simplifyTypedef: operator typedef. Ticket: #2375 2010-12-29 Daniel Marjamäki * man/cppcheck-design.docbook: Cppcheck Design: some more tweaks 2010-12-29 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/check.h, lib/checkautovariables.h, lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkexceptionsafety.h, lib/checkmemoryleak.h, lib/checknullpointer.h, lib/checkobsoletefunctions.h, lib/checkother.h, lib/checkpostfixoperator.h, lib/checkstl.h, lib/checkuninitvar.h, lib/checkunusedfunctions.h, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/tokenize.cpp, lib/tokenize.h, test/testbufferoverrun.cpp: Fixed #2373 (Using XML2 in --errorlist output) 2010-12-29 Daniel Marjamäki * lib/checkother.cpp: Fixed #2372 (internal error in logicaloperator check (varid=0)) 2010-12-29 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedef: fixed problem with 'typedef int pread_f(int);'. ticket: #2348 2010-12-28 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedef: fix typedef simplification. ticket: #2348 2010-12-28 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2370 (false negative: Buffer access out-of-bounds (for with if, no break)) 2010-12-28 Daniel Marjamäki * man/buildman.sh, man/cppcheck-design-overview.docbook, man/cppcheck-design.docbook: Cppcheck Design: updated article 2010-12-28 Daniel Marjamäki * man/cppcheck-design-overview.docbook: Cppcheck Design Overview: Added article 2010-12-28 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2355 (simplifyTypedef: wrong simplification of 'typedef FMAC1 void (*a)();') 2010-12-28 Daniel Marjamäki * man/writing-rules-1.docbook, man/writing-rules-2.docbook, man/writing-rules.docbook: Writing Rules: Added a second article about writing rules that discuss the data representation 2010-12-28 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2354 (simplifyTypedef: function pointers are not simplified into valid code) 2010-12-28 Pete Johns * test/testsuite.cpp, test/testsuite.h: Fixed #2360 (testrunner fails to build in Mac OS X Leopard (10.5) - assert macro vs assert method) Renamed assert to assert_. Tested with gcc v4.0.1 on Snow Leopard. 2010-12-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2367 (false positive: (error) Uninitialized variable: s) 2010-12-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2367 (false positive: (error) Uninitialized variable: s) 2010-12-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #2368 (assigned a value that is never used) 2010-12-27 Kimmo Varis * gui/settings.ui, gui/settingsdialog.cpp: GUI: Show ideal thread count next to current thread count. Ideal thread count is determined by Qt as number of available cores. Ticket: #2194 (Automatically match thread count to available cores) 2010-12-27 Kimmo Varis * lib/checkother.cpp, test/testother.cpp: Change 'Scope of variable'-message to information message. 2010-12-27 Ettl Martin * test/testunusedvar.cpp: Created to testcase (#2368) for assigned a value that is never used false positive 2010-12-27 Daniel Marjamäki * lib/checkother.cpp: Fixed #2365 (Internal error: Token::Match called with varid 0) 2010-12-27 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts: GUI: Update translation files. 2010-12-27 Kimmo Varis * gui/main.ui: GUI: Use simple "Errors" instead of "Common errors". We have only one "error" category nowadays so we don't need to separate different error categories anymore. 2010-12-27 Kimmo Varis * gui/main.ui: GUI: Improve toolbar button tooltips. 2010-12-27 Kimmo Varis * gui/stats.ui: GUI: Fix EOL style of stats.ui. 2010-12-27 Kimmo Varis * gui/stats.ui, gui/statsdialog.cpp: GUI: Add 'portability' warnings to statistics-dialog. 2010-12-27 Kimmo Varis * gui/common.h, gui/gui.qrc, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Add GUI for showing 'portability' warnings. Add menuitem, icon and toolbar button for portability warnings. Ticket #2359 (Gui: Show portability warnings). 2010-12-27 Daniel Marjamäki * test/testclass.cpp: TestClass: addon for 12f28507, fix a few more error messages. 2010-12-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2361 (false positive on t[0X10]) 2010-12-26 Kimmo Varis * gui/settings.ui: GUI: Fix building with Qt < 4.7.0. I accidentally added the 'placeholderText' attribute to settings.ui when editing it with Qt Creator. That attribute was added in Qt 4.7.0 and we are not using it for anything. So removing it to fix building with older Qt versions. 2010-12-26 Kimmo Varis * lib/checkclass.cpp, test/testclass.cpp: Improve the message about const function. See discussion thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2010-12-26 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Improve message for container type range check. See thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0 2010-12-26 Kimmo Varis * lib/checkother.cpp, test/testother.cpp: Improve error message about overlapping buffers for s[n]printf(). See forum thread: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0 2010-12-26 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Buffer overrun: UB when pointer arithmetic result points out of bounds. Ticket #1774 2010-12-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2304 (Tokenizer::simplifyKnownVariables: known strcpy parameter) 2010-12-26 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2090 (False negative: null pointer dereference 's=0; strcpy(s,p);') 2010-12-26 Kimmo Varis * gui/settings.ui: GUI: Improve Preferences-dialog layout. Make threads-textfield smaller as it can contain only three numbers. Also set the input mask so that three numbers at max are accepted. 2010-12-26 Peter Pentchev * Makefile, tools/dmake.cpp: Makefile: honor the C preprocessor flags in CPPFLAGS. Ticket: #2254 2010-12-26 Kimmo Varis * gui/mainwindow.cpp: GUI: zero is not valid value for bool type. 2010-12-26 Kimmo Varis * gui/common.h: GUI: Reorder settings-constants in common.h It is easier to manage those constants when there is even some basic ordering and organization. 2010-12-26 Kimmo Varis * gui/common.h, gui/mainwindow.cpp, gui/settings.ui, gui/settingsdialog.cpp: GUI: Allow enabling inline suppressions from the GUI. Ticket #2342 (inline suppressions not available from the GUI) 2010-12-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Bailout if @ is encountered in the code 2010-12-26 Kimmo Varis * gui/stats.ui, gui/statsdialog.cpp: GUI: Show information messages count in stats dialog. 2010-12-26 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Add "Information" errors items to menu and toolbar. 2010-12-26 Kimmo Varis * gui/gui.qrc, gui/main.ui, gui/resultstree.cpp: GUI: Change Style-warnings icon. I want to use the current Style-warning icon for Information messages. So change the Style-warning icon first to new icon. 2010-12-26 Kimmo Varis * gui/checkstatistics.cpp, gui/checkstatistics.h, gui/common.h, gui/mainwindow.cpp, gui/resultstree.cpp: GUI: Add Information-severity support. 2010-12-26 Daniel Marjamäki * lib/executionpath.cpp, test/testnullpointer.cpp: Fixed #2350 (false positive: possible null pointer dereference) 2010-12-26 Daniel Marjamäki * test/testfilelister_unix.cpp: astyle formatting 2010-12-26 Pete Johns * lib/filelister_unix.cpp: Fixed Linux build. OSX built without limits.h 2010-12-26 Pete Johns * Makefile, lib/filelister_unix.cpp, test/testfilelister_unix.cpp: Fixed #2358 (Compilation fail on Mac) Added test case to prove it works. Not a true unit-test as it accesses the file-system. 2010-12-26 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #2326 (Preprocessor: inline-suppr does not work for id=missingInclude) 2010-12-26 Pete Johns * lib/filelister_unix.cpp: canonicalize_file_name() is a GNU-extension. Replaced with call to realpath() to build on non-Linux systems, such as Mac OSX. 2010-12-25 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2346 (False positive: pointer is assigned value that is never used. used here: 'pCol = pCol->GetNext()') 2010-12-25 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2339 (Tokenizer::setVarId : Wrong handling of 'int gr = id - (TLFPressProperties::OIL_FLUID * nb);') 2010-12-25 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #2353 (Tokenizer::simplifyKnownVariables: wrong simplification after return) 2010-12-25 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Misused scope objects: Don't use this check if the checked file is a pure C file. Ticket: #2352 2010-12-24 Daniel Marjamäki * lib/errorlogger.cpp: Fixed #2349 (Empty 'msg' in output when using '-j') 2010-12-24 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Fixed #2356 (False positive reported with iterator deletion) 2010-12-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyGoto: Don't simplify 'goto' inside unhandled macro calls. Ticket: #2348 2010-12-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: Fixed calculation simplification of '0*(*p)'. Ticket: #2348 2010-12-23 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2345 (False positive: uninitialized variable (in sub-condition in if inside a loop)) 2010-12-22 Daniel Marjamäki * lib/filelister_unix.cpp, lib/filelister_unix.h: Fixed #2344 (FileLister Unix: Don't convert to absolute paths) 2010-12-22 Daniel Marjamäki * lib/checkclass.cpp, lib/errorlogger.h, lib/preprocessor.cpp, test/testclass.cpp: Information: Added new severity 2010-12-22 Daniel Marjamäki * lib/errorlogger.cpp: xml2: changed the format of the cppcheck-version info 2010-12-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2341 (false positive for function pointer returning typedef) 2010-12-22 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2337 (False Positive: memory leak) 2010-12-22 Daniel Marjamäki * lib/errorlogger.cpp, lib/errorlogger.h: xml2: Added cppcheck-version 2010-12-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2338 (False positive: Deallocating a deallocated pointer) 2010-12-21 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2336 (False positive: memory leak (passing pointer to subfunction)) 2010-12-21 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2330 (unreadVariable error for a fstream object when only extraction operator (>>) is used) 2010-12-21 Robert Reif * lib/checkother.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testunusedvar.cpp: unused variables: fixed false negatives with the help of the symbol database. ticket: #2317 2010-12-20 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2317 ((style) Variable is allocated memory that is never used) 2010-12-20 Daniel Marjamäki * lib/checkobsoletefunctions.h, test/testobsoletefunctions.cpp: Fixed #2334 (Internal class index function (no need to 'strchr')) 2010-12-19 Daniel Marjamäki * lib/checknullpointer.cpp: Fixed #2331 (Token::Match is called with varid 0) 2010-12-19 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2286 (Variable 'ownKilled' is assigned a value that is never used) 2010-12-19 Daniel Marjamäki * lib/filelister_unix.cpp: Fixed #2322 (cppcheck follows recursive symlinks) 2010-12-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2328 (false positive: buffer overrun (for loop with a break => the end value is not reached)) 2010-12-19 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Visual Studio: updated project files with qmake 2010-12-18 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2325 (Tokenizer: Remove for-loop if condition is false) 2010-12-18 Robert Reif * lib/checkother.cpp: CheckOther: Use SymbolDatabase. Ticket: #2318 2010-12-18 Kimmo Varis * Makefile: Update Makefile. 2010-12-18 Kimmo Varis * tools/dmake.cpp: Update dmake to use basepath in lib.pri. 2010-12-18 Kimmo Varis * test/test.pro: Update test.pro for using base path for included pri files. 2010-12-18 Kimmo Varis * cli/cli.pro, gui/gui.pro, lib/lib.pri: Don't use relative paths in lib.pri. Using relative path in included file binds it to be usable only included from one directory. Instead use variable for giving the base path for files. 2010-12-18 Kimmo Varis * cli/cli.pro, externals/tinyxml/tinyxml.pri: Don't use relative paths in tinyxml.pri. Using relative path in included file binds it to be usable only included from one directory. Instead use variable for giving the base path for files. 2010-12-18 Kimmo Varis * externals/tinyxml/tinyxml.pri: Reformat tinyxml qmake file. Have one filename at one line. 2010-12-18 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Report 'missing system include' with debug severity. temporary solution until the handling of system includes is better. 2010-12-18 Daniel Marjamäki * test/test.pro: QMake: added test/test.pro 2010-12-18 Kimmo Varis * cli/cli.pro: Add _CRT_SECURE_NO_WARNINGS for Windows CLI build. 2010-12-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: better handling for switch/break in the simplifyKnownVariables. Ticket: #2324 2010-12-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2323 (false positive: Buffer access out of bounds) 2010-12-18 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2320 (false positive: Uninitialized variable: kbuf) 2010-12-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Remove redundant parantheses in rhs. Ticket: #2320 2010-12-17 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, externals/tinyxml/tinyxml.pri, lib/lib.pri: QMake: auto-generate the visual studio project files with qmake 2010-12-17 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2313 (False Positive: memory leak) 2010-12-17 Daniel Marjamäki * test/testmemleak.cpp: checkmemoryleaks: added assertion for todo assertion 2010-12-17 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2306 (False positive: array of std::string is reported as uninitialized) 2010-12-17 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2299 (false positive: possible nullpointer dereference) 2010-12-17 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2307 (No constructor defined false positive when class is enclosed in namespace) 2010-12-16 Daniel Marjamäki * lib/mathlib.h: removed the NOLONGLONG handling. it seems unlikely it is needed 2010-12-16 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2300 (false positive: possible nullpointer dereference) 2010-12-16 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2301 (false positive: The given size 3 is mismatching) 2010-12-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2311 (False positive: Index out of bounds) 2010-12-16 Daniel Marjamäki * test/testbufferoverrun.cpp: astyle formatting 2010-12-16 Daniel Marjamäki * build.txt: build.txt: some updated instructions 2010-12-16 Robert Reif * lib/checkother.cpp, lib/symboldatabase.cpp: Symbol database: reuse in CheckOther. Ticket: #2318 2010-12-16 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2314 (False positive: (style) Template instantiation 'Foo' hides typedef with same name) 2010-12-15 Kimmo Varis * : commit ac8eb30d681c38f3951af77f410f18077b76b80b Author: Kimmo Varis Date: Wed Dec 15 22:39:46 2010 +0200 2010-12-15 Ettl Martin * test/testpreprocessor.cpp: test:testpreprocessor.cpp; fixed broken unit test due to wrong charcter encoding 2010-12-15 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Update VS2010 project files for new TinyXml location. 2010-12-15 Kimmo Varis * cli/cppcheck.vcproj, test/test.vcproj: Update VS2008 project files for new TinyXml location. 2010-12-15 Daniel Marjamäki * : Merge commit 'vBm/master' 2010-12-15 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Fix typo 'IntallationPath' to 'InstallationPath'. 2010-12-15 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Add Japanese and Serbian translation files. I forgot to add Japanese and Serbian translation files to the Windows installer when adding them. 2010-12-15 vBm * : commit 500c0a19c39ec8fdd434a0d6f97363f4db9b5275 Author: Zachary Blair Date: Tue Dec 14 23:51:21 2010 -0800 2010-12-14 vBm * : commit 05ebf120c3fd254ea1c896e48017f3202d6ddcfb Author: Zachary Blair Date: Tue Dec 14 00:16:26 2010 -0800 2010-12-13 Daniel Marjamäki * createrelease: createrelease: Added comment to test 'cppcheck --errorlist'. Ticket: #2292 2010-12-13 vBm * : commit 5ce63a1df0616e3d4e03841f45cb14caad361773 Author: Daniel Marjamäki Date: Mon Dec 13 18:17:33 2010 +0100 2010-12-13 vBm * man/manual.docbook: Change case for some standardized words 2010-12-13 Ettl Martin * tools/dmake.cpp: fixed mistake from previous commit. changes path from test/tinyxml to external/tinyxml; Thanks to kimmov. 2010-12-13 Ettl Martin * tools/dmake.cpp: dmake: added test/tinyxml path to make clean 2010-12-13 Kimmo Varis * gui/checkstatistics.cpp, gui/checkstatistics.h, gui/common.h, gui/resultstree.cpp: GUI: Add partial support for portability severity. Add 'backend' support for the new 'portability' severity. The new severity is handled, converted to new SHOW_PORTABILITY and added with correct type to the result view. There is no menuitem/toolbar button to show/hide portability items. Likewise there is no line for portability issues in stats- dialog. Ticket #2106 (More severities and new xml format) 2010-12-12 Daniel Marjamäki * cli/cli.pro, lib/lib.pri, tools/dmake.cpp: dmake: add include path '../externals' to lib.pri in case the pcre.h is placed there. 2010-12-12 Daniel Marjamäki * Makefile, build.txt, cli/cli.pro, cli/cmdlineparser.cpp, externals/tinyxml/changes.txt, externals/tinyxml/tinystr.cpp, externals/tinyxml/tinystr.h, externals/tinyxml/tinyxml.cpp, externals/tinyxml/tinyxml.h, externals/tinyxml/tinyxml.pri, externals/tinyxml/tinyxmlerror.cpp, externals/tinyxml/tinyxmlparser.cpp, gui/gui.pro, lib/cppcheck.cpp, lib/lib.pri, lib/settings.h, test/tinyxml/changes.txt, test/tinyxml/tinystr.cpp, test/tinyxml/tinystr.h, test/tinyxml/tinyxml.cpp, test/tinyxml/tinyxml.h, test/tinyxml/tinyxmlerror.cpp, test/tinyxml/tinyxmlparser.cpp, tools/dmake.cpp: Add support for user defined rules 2010-12-12 Daniel Marjamäki * Makefile: Makefile: switch back to debug mode 2010-12-12 Daniel Marjamäki * Makefile: 1.46: updated Makefile for release 2010-12-12 Daniel Marjamäki * Changelog: 1.46: Updated Changelog 2010-12-12 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.46: updated version information 2010-12-11 Daniel Marjamäki * lib/errorlogger.h: XML2: Added severity 'portability' for future use. Ticket: #2106 2010-12-11 Daniel Marjamäki * gui/help/buildhelp.bat: online-help: Remove old files before generating new ones. 2010-12-11 Daniel Marjamäki * gui/help/ch01.html, gui/help/ch02.html, gui/help/ch02s02.html, gui/help/ch02s03.html, gui/help/ch02s04.html, gui/help/ch02s05.html, gui/help/ch02s06.html, gui/help/ch02s07.html, gui/help/ch02s08.html, gui/help/ch03.html, gui/help/ch04.html, gui/help/ch05.html, gui/help/ch06.html, gui/help/ch07.html, gui/help/ch08.html, gui/help/ch09.html, gui/help/ch10.html, gui/help/ch10s02.html, gui/help/ch10s03.html, gui/help/ch10s04.html, gui/help/ch10s05.html, gui/help/index.html, gui/help/manual.html, gui/help/online-help.qhp: GUI: updated help file. Use latest manual. 2010-12-10 vBm * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/cppcheck_sr.ts, gui/gui.pro, gui/translationhandler.cpp: GUI: Initial addition of Serbian localization using clean English template. 2010-12-09 Daniel Marjamäki * man/manual.docbook: Manual: minor tweaks. remark that it is not certain that fixing 'performance' messages will have a positive effect on the speed. and in general it doesn't make the code more readable. 2010-12-09 Daniel Marjamäki * lib/checkobsoletefunctions.h: Obsolete functions: added better verbose messages 2010-12-09 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: Cleanup redundant statement '; x = x + 0;'. Ticket: #2283 2010-12-09 Daniel Marjamäki * cli/threadexecutor.cpp: ThreadExecutor: Fixed error message 'member variable _pipe not initialized'. Ticket: #2283 2010-12-09 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2284 (False positive: Possible null pointer reference) 2010-12-09 Robert Reif * lib/checkmemoryleak.cpp: Symbol database: use in checkmemoryleaks.cpp. ticket: #2219 2010-12-09 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: fixed test that I broke in my last commit 2010-12-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2285 (False Positive: memory leak) 2010-12-08 Kimmo Varis * gui/checkthread.cpp, gui/checkthread.h: GUI: Small cleanup - use const reference. 2010-12-08 Kimmo Varis * gui/threadhandler.cpp, gui/threadhandler.h: GUI: Small cleanup - use const reference. 2010-12-08 Kimmo Varis * gui/translationhandler.cpp: GUI: Fix typo in Japanese translation name. The typo was visible in the Language-menu. 2010-12-08 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ja.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update language files. 2010-12-08 Kimmo Varis * gui/cppcheck_ja.ts, gui/gui.pro, gui/translationhandler.cpp: GUI Add Japanese translation. The translation was contributed by cjohnk7@sourceforge.net. Ticket #2276. 2010-12-08 Kimmo Varis * gui/stats.ui: Fix EOL style for stats.ui. I accidentally committed stats.ui with Windows EOL style. 2010-12-08 Robert Reif * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: use symbol database in the memory leaks function checking. Ticket: #2219 2010-12-07 Robert Reif * lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp: Fixed #2282 (Improve check: Function can be const) 2010-12-07 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-12-07 Kimmo Varis * gui/stats.ui: GUI: Don't translate placeholder texts in stats dialog. 2010-12-07 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h: Symbol database: creates a single symbol database within Tokenizer on demand and changes all checks to use it 2010-12-07 Robert Reif * test/testmemleak.cpp: Symbol database: adds new tests that verify that namespaces work for the class check 2010-12-07 Robert Reif * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Symbol database: fixed a TODO test where class variables were qualified with the class name 2010-12-07 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/symboldatabase.cpp, lib/tokenize.cpp: Symbol database: removed unnecessary null pointer checks 2010-12-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Memory leaks: Removed the experimental checking using ExecutionPath. 2010-12-06 Daniel Marjamäki * man/buildman.sh, man/writing-rules.docbook: Writing rules: converting the docbook to pdf with buildman.sh 2010-12-06 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: More simplifications 2010-12-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2280 (Tokenizer::setVarId : variable id not set for inner iterator) 2010-12-05 Kimmo Varis * .gitignore: Update GUI executable name to .gitignore. 2010-12-05 Kimmo Varis * Makefile: Update Makefile. 2010-12-05 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: minor tweaks 2010-12-05 Kimmo Varis * : commit 3ab725fa047a1546339f22c96ee3442d1ec022c8 Author: Kimmo Varis Date: Sun Dec 5 22:23:36 2010 +0200 2010-12-05 Robert Reif * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Symbol database: better handling of inline functions. Ticket: #2219 2010-12-05 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2279 ((style) struct of union member is never used) 2010-12-05 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: use 'cppcheck --rule=.+' instead of 'cppcheck --debug' to see simplified code 2010-12-05 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: Minor updates. Trying to make it easier. 2010-12-05 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: rewrote the chapter about writing rule files 2010-12-04 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2275 (False Positive: Member variable not initialized in the constructor) 2010-12-04 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: Target this guide for beginners. Skip C++ and only describe how rules are created with regular expressions. 2010-12-04 Robert Reif * lib/checkclass.cpp, lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2273 (False Positive: Member variable not initialized in the constructor) 2010-12-04 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: Removed the C++ information. I'll focus on regular expressions to begin with. 2010-12-04 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Tokenizer: Added a few comments 2010-12-04 Daniel Marjamäki * cli/cmdlineparser.cpp, lib/settings.h: xml2: rename '--xmlver' to '--xml-version'. bugfix in settings, change the type of _xml_version from bool to int. 2010-12-04 Daniel Marjamäki * : commit c6c5fc6a1ce986e045ccbfcc4bfb05961f1e2ff5 Author: Kimmo Varis Date: Sat Dec 4 14:13:44 2010 +0200 2010-12-04 Daniel Marjamäki * man/writing-rules.docbook: Writing rules: Start writing document. A beginners guide to writing rules. 2010-12-04 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Improve 'Use x.empty() instead of x.size() for emptiness' warning. Improve the performance warning message as discussed at dev-forum: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192#p926 2010-12-04 Kimmo Varis * lib/checkautovariables.cpp, test/testautovariables.cpp: Improving 'Wrong assignment of auto variable' error message. Improving the error message as discussed at dev-forum: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192&start=0 2010-12-04 Robert Reif * lib/checkmemoryleak.cpp, lib/symboldatabase.cpp, test/testmemleak.cpp: Memory leaks: Determine that some classes are not auto-deallocated. Reduce false negatives. Ticket: #2219 and #1618 2010-12-03 Daniel Marjamäki * man/manual.docbook: Manual: updated the manual 2010-12-03 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2264 (False positive: variable assigned value that is never used) 2010-12-03 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2271 (Tokenizer: simplify Qt signals and slots) 2010-12-03 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Symbol database: The symbol database has a bug where it can find an out of line constructor when looking for a destructor. Ticket: #2272 2010-12-02 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2263 (False positive: variable assigned value that is never used) 2010-12-02 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: Preprocessor: Don't include system headers twice. 2010-12-02 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #2271 (Tokenizer: simplify Qt signals and slots) 2010-12-02 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/check.h, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, test/testcppcheck.cpp: xml2: replace --xml2 with --xmlver=2. Ticket: #2106 2010-12-02 Robert Reif * lib/checkclass.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testclass.cpp, test/testconstructors.cpp: Fixed #2172 (False positive: struct is not initialized in constructor) 2010-12-01 Daniel Marjamäki * cli/cmdlineparser.cpp, cli/cppcheckexecutor.cpp, lib/check.h, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, test/testcppcheck.cpp: xml2: Added experimental --xml2 result format. Ticket: #2106 2010-12-01 Daniel Marjamäki * lib/checkuninitvar.cpp: checkuninitvar: fixed possible null-pointer dereference. thanks orbitcowboy for spotting it. 2010-12-01 Robert Reif * lib/preprocessor.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testexceptionsafety.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testnullpointer.cpp, test/testobsoletefunctions.cpp, test/testother.cpp, test/testpostfixoperator.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testuninitvar.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp: Tokenizer: add assert(_settings) to Tokenizer to insure the tokenizer always has settings. Ticket: #2219 2010-12-01 Kimmo Varis * gui/resultsview.cpp: GUI: Don't show summary/details for the parent items. 2010-12-01 Kimmo Varis * gui/resultsview.cpp: Fix ticket #2269 ([GUI] Crash when rechecking files while having hidden stuff) If there is no current item show empty details panel. 2010-12-01 Kimmo Varis * lib/checkclass.cpp: Fixed #2268 ([GUI] Generic class name is shown for 'Message' while correct one for 'Summary') 2010-11-30 Kimmo Varis * gui/checkstatistics.cpp, gui/checkstatistics.h: GUI: Add files I forgot to add when committing statistic patches. 2010-11-30 Kimmo Varis * gui/resultsview.cpp: GUI: Show also summary in the details pane. Show both short summary and verbose message in lower details panel in the GUI: Add titles for short summary and message. Hopefully this makes it easier to read the messages and copy/paste them too. 2010-11-30 Kimmo Varis * gui/statsdialog.cpp, gui/statsdialog.h: GUI: Copy statistics also to clipboard. 2010-11-30 Kimmo Varis * gui/gui.pro, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/stats.ui, gui/statsdialog.cpp, gui/statsdialog.h: GUI: Collect statistics about amount of different severities. Add new class for collecting statistics per each error severity. Add a new tab to Statistics-dialog for these numbers. 2010-11-30 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2252 (segmentation fault with enable=all) 2010-11-30 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2252 (segmentation fault with enable=all) 2010-11-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2261 (False positive: memory leak) 2010-11-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2262 (False positive: Resource leak: fd) 2010-11-30 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2265 (False positive: Uninitialized variable: path) 2010-11-29 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2251 (False positive: Possible null pointer reference) 2010-11-29 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2245 (False positive: Possible null pointer dereference) 2010-11-29 Daniel Marjamäki * Makefile: Makefile: updated with dmake 2010-11-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2248 (memory leak : pointer inserted in an object) 2010-11-29 Kimmo Varis * lib/checkstl.cpp: Remove extra space char from begin of verbose message. 2010-11-29 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Improve redundant STL container condition -message. Have separate summary and verbose messages. Se discusion at forum: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2010-11-29 Kimmo Varis * lib/checkother.cpp, test/testother.cpp: Improve "Assert statement 'varname' -message. Modifying the message so that we have short message and verbose message. As discussed in dev-forum: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2010-11-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2232 (segmentation fault of cppcheck) 2010-11-28 Kimmo Varis * lib/checkother.cpp: Run astyle. 2010-11-28 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.ui: GUI: Allow selecting multiple items in results tree. If multiple items are selected then other than "Hide" context menu items are disabled. 2010-11-28 Kimmo Varis * lib/checkother.cpp, test/testother.cpp: Improve the 'suspicious code sizeof sizeof' -message. As discussed at dev-forum: https://sourceforge.net/apps/phpbb/cppcheck/viewtopic.php?f=3&t=192 2010-11-28 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Temporarily skip 'missing include' warnings for system headers in release mode. When the handling works better these messages should not be skipped. Ticket: #1937 2010-11-28 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2236 (False positive: Assignment to itself) 2010-11-28 Daniel Marjamäki * lib/tokenize.cpp: Fixed #2241 (Segfault checking a file) 2010-11-27 Kimmo Varis * lib/checkpostfixoperator.cpp: Remove extra space from error message. 2010-11-27 Kimmo Varis * lib/checkother.cpp: Small fix to error message. Start with capital letter and no space in beginning. 2010-11-27 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2218 (False positive: Data is allocated but not initialized) 2010-11-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2235 (false Resource leak) 2010-11-27 Kimmo Varis * lib/checkstl.cpp, test/teststl.cpp: Ticket #2237 (Too long "short" message about iterator increment) Improve the message for suspicious iterator increment in loop. 2010-11-27 Kimmo Varis * lib/checkother.cpp, test/testother.cpp: Ticket #2239 (Too long "short" message about function parameter passing) Have a proper short message for the parameter passing warning and improve the message. 2010-11-27 Kimmo Varis * lib/checkpostfixoperator.cpp, test/testpostfixoperator.cpp: Ticket #2238 (Improve postincrement warning message) Have a proper short message for post ++/-- operators. Pre ++/-- operators are usually more efficient for non-primitive types. 2010-11-27 Kimmo Varis * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Ticket #2240 (Improve no constructor-message). Improve the message about missing constructor but having class attributes. Have proper short and long messages. 2010-11-26 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-11-26 Kimmo Varis * gui/application.ui: GUI: Change text in Add Application-dialog back to plain text. Revert change ca9f8a7036559415e22364e0d078c20647943a32 that converted text in Add Application -dialog to rich text. The text is plain text and doesn't use any formatting so plain text is good for it. 2010-11-26 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Cleanup duplicate code. 2010-11-26 Kimmo Varis * gui/common.h, gui/mainwindow.cpp, gui/settings.ui, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Add Setting for global include paths. This commit adds new setting and GUI for global include dirs. When project file with include dirs is loaded, global includes dirs are added first and after them the include dirs from project file. 2010-11-25 Robert Reif * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: Symbol database: refactor CheckMemoryLeakInClass::checkPublicFunctions to use the symbol database. Ticket: #2219 2010-11-25 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2234 (Variable is assigned a value that is never used) 2010-11-25 Robert Reif * lib/symboldatabase.cpp: Symbol database: Avoid possible null pointer dereference if _settings is null. Ticket: #2219 2010-11-25 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2230 (segmentation fault of cppcheck) 2010-11-25 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2228 (False positive: Claims function can be const when it can not be (shared_ptr)) 2010-11-24 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Write Cppcheck version and install path to registry. As suggested by mcartoixa at forums. This helps 3rd party software to find the Cppcheck in Windows environment. Note that this commit writes to HKCU instead of suggested HKLM. 2010-11-24 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2226 (segmentation fault of cppcheck) 2010-11-24 Kimmo Varis * gui/resultsview.cpp, gui/resultsview.h: GUI: Fixing includes. 2010-11-24 Kimmo Varis * : commit c6046b6663209770a00964e9a7bf405a5eda9fa5 Author: Kimmo Varis Date: Wed Nov 24 17:09:02 2010 +0200 2010-11-24 Zachary Blair * gui/main.ui, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Fixed #1861 (GUI: Allow hiding error) Disabled menu item when not applicable 2010-11-23 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: GUI: Improve updating details view. After previous patches the details view was only updated when the item was clicked with mouse. This patch improves the updating and now it works also when changing selected item using keyboard. 2010-11-23 Kimmo Varis * gui/common.h, gui/mainwindow.cpp, gui/resultsview.cpp, gui/resultsview.h: GUI: Remember main window splitter state. Save and restore the vertical splitter state (sizes of tree view and details panel). 2010-11-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2225 (false positive: variable is assigned a value that is never used '*(stack[0])+=arg') 2010-11-23 Kimmo Varis * gui/resultsview.ui: GUI: Rename the splitter widget. 2010-11-23 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/symboldatabase.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testmemleak.cpp, test/testtokenize.cpp: reuse symbol database in checkmemoryleak.cpp. ticket: #2219 2010-11-23 Robert Reif * lib/symboldatabase.cpp, test/testclass.cpp: Fixed #2221 (segmentation fault of cppcheck) 2010-11-23 Kimmo Varis * gui/resultsview.cpp, gui/resultsview.h: GUI: Add missing include lines. 2010-11-22 Kimmo Varis * gui/resultstree.cpp: GUI: Remove Message-column from the error tree view. The full detailed message is shown in the own panel below error tree. 2010-11-22 Kimmo Varis * gui/resultsview.cpp, gui/resultsview.h, gui/resultsview.ui: GUI: Add own panel for detailed error messages. This commit adds new rich text panel for the detailed error messages. When user clicks error item the detailed error text is updated to the panel. This way we have much more freedom in formatting the message and user can easily copy/paste (parts of) the message. 2010-11-21 Zachary Blair * gui/main.ui, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Fixed #1861 (GUI: Allow hiding error) 2010-11-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer::simplifyKnownVariables: suppress debug warnings about pointer aliases. Temporary solution that limits the amount of debug warnings somewhat. 2010-11-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Reduce debug-warnings for conditional increment 2010-11-21 Daniel Marjamäki * test/testbufferoverrun.cpp: Buffer overflow: Added unit test that makes sure that array index out of bounds is detected inside loop. Ticket: #2199 2010-11-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: VS: Fixed compiler warnings. Ticket: #2200 2010-11-21 Daniel Marjamäki * lib/mathlib.cpp: gcc: fixed compiler warnings 2010-11-21 Zachary Blair * cli/cmdlineparser.cpp, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2162 (false positive: Mutual exclusion over ||) 2010-11-20 Reijo Tomperi * cli/cmdlineparser.cpp: Increase number of cores allowed by the cli to 10000 and add comment about the limit (it is there just to catch typos) 2010-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2216 (wrong warning when C++0x keyword delete is used) 2010-11-20 Ettl Martin * lib/mathlib.h: mathlib: toString() parameter changed to const reference 2010-11-20 Daniel Marjamäki * lib/checkbufferoverrun.cpp: VS: Fixed compiler warnings 2010-11-20 Daniel Marjamäki * lib/checkother.cpp: VS: fixed compiler warning. Ticket: #2200 2010-11-20 Daniel Marjamäki * lib/checkuninitvar.cpp, lib/mathlib.cpp, lib/mathlib.h, lib/tokenize.cpp, test/testmathlib.cpp: Fixed #2200 (MathLib: Calculation overflow) 2010-11-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2214 (Improve check: Memory leak not detected when pointer is incremented) 2010-11-20 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Mutual exclusion: Disable this check until #2162 is fixed. 2010-11-20 Robert Reif * lib/checkclass.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: add global space and add all global functions and variables to it. Ticket: #2198 2010-11-19 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Right-align line number. 2010-11-19 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Add tooltips for error items. 2010-11-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2210 (False positive: buffer overrun (snprintf, unknown type)) 2010-11-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed simple undetected case for '= %var% |' and '| %var% ;' 2010-11-16 Daniel Marjamäki * lib/checkuninitvar.cpp: Uninitialized variables: Cleanup '+=' handling. This is simplified in the Tokenizer now. 2010-11-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed simple undetected case for '= %var% -' 2010-11-16 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false negative. Ticket: #2207 2010-11-16 Robert Reif * lib/checkclass.cpp, lib/symboldatabase.cpp, lib/symboldatabase.h, test/testconstructors.cpp: Fixed #2204 (False positive when using const class members) 2010-11-15 Ettl Martin * test/testmathlib.cpp: fixed: wrong testcase from my last commit im testmathlib.cpp 2010-11-15 Ettl Martin * test/testmathlib.cpp, test/testother.cpp: mathlib: added todo testcases for ticket #2200 2010-11-15 Daniel Marjamäki * lib/executionpath.cpp, test/testnullpointer.cpp, test/testuninitvar.cpp: Fixed #2207 (False positive: uninitialized variable (return if uninitialized)) 2010-11-15 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2206 (False positive: variable is assigned a value that is never used (array initializers)) 2010-11-15 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2205 (False positive: variable is assigned a value that is never used (assigning to dereferenced casted pointers)) 2010-11-15 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2202 (false postive: Data is allocated but not initialized: rbdc) 2010-11-14 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testunusedvar.cpp: Fixed #2058 (Warn for unused variable when only doing malloc/free) 2010-11-14 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2201 (false positive: Uninitialized variable: __v0) 2010-11-14 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Update VS2010 solution/project files. 2010-11-14 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: Fixed #2131 (Preprocessor: incorrect include file loading) 2010-11-14 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: CheckClass: Refactoring - organize each check so the check function comes first, any helper functions come second, and the message functions come last. Ticket: #2198 2010-11-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Simplify known variables for struct members 2010-11-13 Daniel Marjamäki * test/testtokenize.cpp: Tokenizer: added assertions to check that no debug messages are given. 2010-11-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Skip debug warnings in Tokenizer::simplifyKnownVariables for loop variable 2010-11-13 Daniel Marjamäki * test/testtokenize.cpp: Tokenizer: Added TODO test cases for splitting up variable declarations 2010-11-13 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: Auto variables: improved the check for 'return retval.c_str()'. Ticket: #2191 2010-11-13 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Fixed false negatives when calling unknown function with uninitialized variable by value: 'f(a+1)' 2010-11-13 Daniel Marjamäki * lib/preprocessor.cpp: system headers: merged the systemheaders branch into master. it works pretty well. Ticket: #1937 2010-11-13 Daniel Marjamäki * cli/cppcheck.vcproj, test/test.vcproj: Visual Studio 2008: Added lib/symboldatabase files 2010-11-13 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2196 (False positive: Invalid data is allocated but not initialized (initialization in loop)) 2010-11-13 Daniel Marjamäki * lib/symboldatabase.cpp, lib/symboldatabase.h: Symbol database: Added files 2010-11-13 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: uninitialized variables: fixed problem when parsing loop bodies 2010-11-13 Daniel Marjamäki * Makefile: Makefile: updated the Makefile. addon to my commit yesterday where I added new leak checking 2010-11-13 Robert Reif * Makefile, lib/checkclass.cpp, lib/checkclass.h, lib/lib.pri: Fixed #2198 (SymbolDatabase: separate SymbolDatabase from CheckClass) 2010-11-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #2151 (false negative: memory leak when calling subfunction that doesn't deallocate the memory) 2010-11-12 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2193 (false negative: nullpointer dereference) 2010-11-12 Robert Reif * lib/checkclass.cpp: This patch fixes a bug I introduced in the previous patch. It also speeds up nested class parsing by skipping the entire class implementation using { link to jump to } rather than parsing for }. Ticket: #2172 2010-11-12 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: Passing uninitialized array as parameter to function. Ticket: #2188 2010-11-12 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #914 (improve check: usage of uninitialized variable) 2010-11-12 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2148 (uninitialized variable: false negative, function parameter that is passed by value) 2010-11-12 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2188 (Does not detect initialization) 2010-11-12 Daniel Marjamäki * lib/errorlogger.cpp: Fixed #2195 (unit tests failing) 2010-11-11 Kimmo Varis * gui/resultstree.cpp: GUI: Add new "Summary" column to results. Summary column contains the short message core produces. 2010-11-11 Kimmo Varis * gui/csvreport.cpp, gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp, gui/threadresult.cpp, gui/txtreport.cpp, gui/xmlreport.cpp: GUI: Add new short summary to error structures. Also rename 'msg' in structures to 'message' for consistency. 2010-11-11 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Add path separator in ProjectFiles dialog. Add path separator to end of the paths user added via Browse-dialog. 2010-11-11 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Show native paths in ProjectFiles -dialog. When adding paths to the dialog convert them to native separators. When saving the paths convert them to internal separators. 2010-11-11 Kimmo Varis * gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add buttons to add new paths to ProjectFile dialog. 2010-11-11 Daniel Marjamäki * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, gui/threadresult.cpp, lib/check.h, lib/checkother.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, test/testcppcheck.cpp, test/testsuite.cpp: Fixed #2167 (Drop linefeeds from error messages) 2010-11-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2192 (false positive: resource leak) 2010-11-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedef: better handling of __typeof__ 2010-11-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: typedefs: handle __typeof__ 2010-11-10 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Fixed #2185 (False negative: when constant is undefined a 'dangerous usage of strncpy' is not found) 2010-11-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2182 (Context sensitive false positive) 2010-11-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2184 (False Positive: memory leak) 2010-11-10 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: code cleanups 2010-11-09 Daniel Marjamäki * lib/filelister_win32.cpp: FileLister: fixed compiler errors in win32. accept all files given by user. 2010-11-09 Daniel Marjamäki * lib/filelister.cpp, lib/filelister_unix.cpp: Fixed #2181 (How can I select the extension of the files to check?) 2010-11-09 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h, tools/dmake.cpp: FileLister: minor cleanup 2010-11-09 Daniel Marjamäki * lib/checkclass.cpp, test/testconstructors.cpp: Symbol database: add support for class inline functions with classes 2010-11-09 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #2179 (Segmentation fault in assignment operator) 2010-11-08 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #2178 (segmentation fault of cppcheck) 2010-11-08 Daniel Marjamäki * lib/filelister_win32.cpp: Fixed #2169 (Inline suppression does not work unless filename is given) 2010-11-08 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Only show 'failed to instantiate template' debug messages if the --debug-warnings has been given 2010-11-08 Daniel Marjamäki * lib/checkother.cpp: Visual Studio: Fixed compiler warnings about assignment in condition 2010-11-08 Robert Reif * lib/checkclass.cpp: Symbol database: delay finding class variables until after all classes have been found. 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testbufferoverrun.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO test cases in TestBufferOverrun 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp: Revert "Tokenizer: More specific bailout in simplifyKnownVariables for loop variable" This reverts commit 7e9bb62dffd0b13303c66560e92d5d818576d3c1. 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: More specific bailout in simplifyKnownVariables for loop variable 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testautovariables.cpp, test/testtokenize.cpp: Tokenizer: More specific bail outs in simplifyKnownVariables 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: better bailout in simplifyKnownVariables when there is loop 2010-11-07 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2170 (false positive: After a strncpy() the buffer should be zero-terminated) 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: better handling of const variables 2010-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Bailout simplifyKnownVariables for loop variables 2010-11-06 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: fixed problem 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Refactoring the simplifyKnownVariable 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: improved simplifyKnownVariables 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Refactoring. Merged two patterns into one pattern. 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Added debug warning that is shown when bailing out in simplifyKnownVariables 2010-11-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2176 (Tokenizer::simplifyTypedef function pointer bug) 2010-11-06 Robert Reif * lib/checkclass.cpp: Symbol database: improved handling of out of line functions returning function pointers 2010-11-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2175 (Tokenizer::simplifyTypedef : wrong simplification of 'typedef float vec_t[3];') 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifyKnownVariables : Fixed TODO test case when simplifying pointer alias in function call 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyKnownVariables: Fixed TODO test case. 2010-11-06 Daniel Marjamäki * test/testtokenize.cpp: Refactoring: Added ASSERT_EQUALS above TODO_ASSERT_EQUALS to catch changes in the behaviour better 2010-11-06 Daniel Marjamäki * test/testsimplifytokens.cpp: Added TODO unit test for ticket #2175. simplify 'typedef float x[3];' 2010-11-06 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2136 (false negative: array bounds) 2010-11-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: removed redundant assignments such as 'x+=0;'. Ticket: #2173 2010-11-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2174 (Tokenizer::simplifyFunctionReturn bug) 2010-11-05 Daniel Marjamäki * lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testsimplifytokens.cpp: Tokenizer: simplify calculations with zero better 2010-11-05 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: simplifyknownvariables, improved handling of string constant 2010-11-05 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: better handling of for example 'a[1] = 1+a[2];' 2010-11-05 Daniel Marjamäki * lib/checkuninitvar.cpp, test/testuninitvar.cpp: Uninitialized variables: detect usage of dead pointer: '*p += 10' 2010-11-04 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false negatives in the CheckAndDeRef checking 2010-11-04 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2171 (false positive: possible nullpointer dereference) 2010-11-04 Daniel Marjamäki * lib/checkother.cpp: GCC: Fixed compiler warnings about sign-conversion 2010-11-04 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testuninitvar.cpp: Fixed #2161 (false positive: assigned a value that is never used) 2010-11-04 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Fixed 'a[b-1]+=1' 2010-11-04 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify 'a[b-1]+=1' better 2010-11-04 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2166 (false positive: possible null pointer dereference) 2010-11-04 Robert Reif * lib/checkpostfixoperator.cpp, test/testpostfixoperator.cpp: Fixed #2168 (Segmentation fault of cppcheck) 2010-11-04 Zachary Blair * lib/checkother.cpp, test/testother.cpp: Fixed #2137 (Invalid mutual exclusion report) 2010-11-04 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: Fixed bug. Ticket: #2149 2010-11-03 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: Bug fix 2010-11-03 Daniel Marjamäki * test/testtokenize.cpp: Tokenizer: Added TODO test case for better handling of function calls 2010-11-03 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2160 (#2160 (Invalid unused variable report (style))) 2010-11-03 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: empty string test: Removed this check 2010-11-02 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Unused variables: better handling of '= %var% ++'. Ticket: #2160 2010-11-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testuninitvar.cpp: Tokenizer: simplify 'x[0] += 1;' 2010-11-02 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol Database: Better handling of namespaces. Ticket: #2149 2010-11-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify 'x.y += 1;' 2010-11-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify 'case 0: x += y;' 2010-11-01 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Fixed #2159 (False positive: Null pointer dereference 'if (!x) return *y;') 2010-11-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2158 (False positive: value is not unused when using +=) 2010-10-31 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Update VS2010 project files. 2010-10-31 Daniel Marjamäki * lib/checknullpointer.cpp, test/testnullpointer.cpp: Null pointers: Fixed false positive for 'x && x->y' 2010-10-31 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer: Reuse CheckNullPointer::isPointerDeRef in CheckNullPointer::nullPointerByDeRefAndChec 2010-10-31 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer: Reuse the CheckNullPointer::isPointerDeRef function 2010-10-31 Daniel Marjamäki * lib/checknullpointer.cpp: CheckNullPointer: Reduced false negatives by making pattern more generic 2010-10-31 Daniel Marjamäki * lib/checknullpointer.cpp, lib/checknullpointer.h: CheckNullPointer: Refactoring. Created the function CheckNullPointer::isPointerDeRef that can be used to detect if a pointer is dereferenced 2010-10-31 Kimmo Varis * gui/aboutdialog.cpp, gui/applicationdialog.cpp, gui/applicationlist.cpp, gui/checkthread.cpp, gui/csvreport.cpp, gui/filelist.cpp, gui/projectfiledialog.cpp, gui/report.cpp, gui/resultstree.cpp, gui/settingsdialog.cpp, gui/statsdialog.cpp, gui/threadhandler.cpp, gui/threadresult.cpp, gui/xmlreport.cpp: Add missing include lines. 2010-10-31 Daniel Marjamäki * cli/cppcheck.vcproj, test/test.vcproj: Visual Studio 2008: added nullpointer and uninitvar files 2010-10-31 Daniel Marjamäki * lib/checkother.cpp: Visual Studio: Fixed compiler error 2010-10-31 Daniel Marjamäki * Makefile, lib/checkother.cpp, lib/checkother.h, lib/checkuninitvar.cpp, lib/checkuninitvar.h, lib/lib.pri, test/testother.cpp, test/testuninitvar.cpp: Uninitialized variables: Broke out the checking into separate file 2010-10-31 Daniel Marjamäki * Makefile, lib/checknullpointer.cpp, lib/checknullpointer.h, lib/checkother.cpp, lib/checkother.h, lib/lib.pri, test/testnullpointer.cpp, test/testother.cpp: Null pointers: Broke out the checking into separate file 2010-10-31 Daniel Marjamäki * lib/checkother.h: CheckOther: updated CheckOther::getErrorMessages 2010-10-31 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: Added a few comments 2010-10-31 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: Fixed false negative that I introduced when simplifying compound assignments 2010-10-31 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #2147 (uninitialized variable: false negative for 'x += y;') 2010-10-30 Daniel Marjamäki * lib/checkbufferoverrun.cpp: GCC: Fixed compiler warnings 2010-10-30 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2120 (False positive: array index out of bounds (unknown type in struct, sub function)) 2010-10-30 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2154 (false positive: The loop might unintentionally skip an element in the container) 2010-10-29 Kimmo Varis * Makefile: Update Makefile. 2010-10-29 Kimmo Varis * test/test.vcxproj, test/test.vcxproj.filters: Update VS2010 project files. 2010-10-29 Kimmo Varis * test/test.vcproj, test/testfilelister.cpp, test/testpath.cpp: Update tests after moving simplifyPath method to Path class. 2010-10-29 Kimmo Varis * lib/cppcheck.cpp, lib/errorlogger.cpp, lib/filelister.cpp, lib/filelister.h, lib/filelister_unix.h, lib/path.cpp, lib/path.h, lib/preprocessor.cpp, lib/tokenize.cpp: Move simplifyPath method from FileLister to Path class. simplifyPath() "fits" better to Path class conceptually. It handles paths, not lists them. Also this way we get rid of few unneeded dependencies to FileLister class. 2010-10-28 Kimmo Varis * gui/application.ui: GUI: Improve External editor add/edit dialog layout. Get rid of the form layout stretching the Browse-button so wide. Use form-like but more flexible layout. Change the term 'Application to execute' to 'Command to execute'. This reduces duplication and makes clear difference between application name and the command to execute to start the application. Fix also tab ordering so that the application name field gets the focus initially. 2010-10-28 Kimmo Varis * gui/applicationlist.cpp, gui/applicationlist.h: GUI: Use Notepad in Windows as default editor if Notepad++ not found. 2010-10-28 Kimmo Varis * gui/applicationlist.cpp: GUI: Failed to start default Notepad++. Notepad++ found and set as editor by default failed to start. There were no quotation marks around path containing space chars. 2010-10-28 Kimmo Varis * gui/applicationlist.cpp: GUI: It is Notepad++ with capital first letter. 2010-10-28 Kimmo Varis * gui/application.ui, gui/settingsdialog.cpp: GUI: Fix modality of Application dialog when editing application. 2010-10-28 Kimmo Varis * gui/resultstree.cpp: GUI: Fix saving new error categories names. 2010-10-28 Daniel Marjamäki * lib/checkclass.cpp, lib/checkobsoletefunctions.cpp, lib/checkother.cpp, lib/tokenize.cpp, lib/tokenize.h: Tokenizer: Added function for checking if code is Java/C# 2010-10-28 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Java: Removed bailout added in 120073f0001 2010-10-27 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2130 (Invalid possible NULL pointer dereference, etc.) 2010-10-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2141 (false positive: possible null pointer dereference) 2010-10-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2142 (false positive: null pointer dereference (throw)) 2010-10-27 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1195 (Uninitialized member variable not detected 'std::vector *ints;') 2010-10-27 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2135 (False positive 'Can be const') 2010-10-27 Pete Johns * test/testtokenize.cpp: Fixed test case so that it would compile. 2010-10-27 Pete Johns * lib/tokenize.cpp, lib/tokenize.h: Removed unnecessary code duplication. 2010-10-26 Cary R * lib/settings.cpp: Fixed #2138 (Add support for comments in suppression file) 2010-10-26 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: Remove redundant semi colons 2010-10-26 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: #2133 (cppcheck: floating point exception) 2010-10-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2118 (Invalid syntax error report.) 2010-10-26 Kimmo Varis * readme_64-bit_Windows.txt: Update GUI build instructions for 64-bit Windows. 2010-10-26 Kimmo Varis * readme_64-bit_Windows.txt: Improve 64-bit VS compiling instructions for GUI. No extra tricks needed for compiling 64-bit GUI. Though it seems to work only in command prompt but not in IDE. 2010-10-25 Kimmo Varis * readme_64-bit_Windows.txt: Improve 64-bit VS compiling instructions. Format the instructions being specifically for VS Express editions. 2010-10-25 Kimmo Varis * readme_64-bit_Windows.txt: Couple of fixes to VS2010 and 64-bit compile doc. 2010-10-25 Kimmo Varis * cli/cppcheck.vcproj, cppcheck.sln, test/test.vcproj: Add 64-bit targets for VS2008 project/solution files. Since VS2008 Express does not support x64 platform we must create new configurations named Debug-x64 and Release-x64. 2010-10-24 Kimmo Varis * readme_64-bit_Windows.txt: Add readme file for building Cppcheck for 64-bit Windows. 2010-10-24 Kimmo Varis * cli/cppcheck.vcxproj, cppcheck_vs2010.sln, test/test.vcxproj: Add x64 build targets for VS 2010. This commit adds new x64-Debug and x64-Release -targets for VS 2010. To use those targets you need Windows SDK with x64 compiler. 2010-10-26 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2134 (sizeof(*list) complains of null pointer dereference) 2010-10-26 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed #2132 (Internal error. Token::Match called with varid 0.) 2010-10-26 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2129 (Invalid dereference after release report) 2010-10-26 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2130 (Invalid possible NULL pointer dereference, etc.) 2010-10-25 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: null pointer: use simplified token list in the 'check and deref' checking 2010-10-25 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized variables: fixed fp when analysing loops 2010-10-25 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #2127 (null pointer dereference after condition (SRD nr 522)) 2010-10-25 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: using deallocated pointer: detect first problem reported in ticket #2090 2010-10-24 Zachary Blair * lib/checkother.cpp, lib/checkother.h, lib/token.cpp, lib/token.h, test/testother.cpp, test/testtoken.cpp: Fixed #2105 (Incorrect operator: mutual exclusion over ||) 2010-10-24 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Execution Path: Fixed FP in improved handling of loop bodies 2010-10-24 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Null pointers: Better handling of loops 2010-10-24 Daniel Marjamäki * lib/checkother.cpp: uninitialized variables: handling loop bodies. end upon '}' 2010-10-24 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp, test/testsuite.cpp: uninitialized variables: refactoring handling of loop bodies 2010-10-24 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: Fixed #2125 (uninitialized variable: better handling of for loops) 2010-10-24 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #2111 (Class methods writing to a union are detected as 'can be const') 2010-10-24 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Add missing files to VS2010 project/solution files. 2010-10-24 Daniel Marjamäki * lib/checkother.cpp: Visual Studio: Fixed compiler warning. Ticket: #2123 2010-10-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Buffer overruns: Fixed TODO test case 2010-10-23 Daniel Marjamäki * test/testcppcheck.cpp: fixed 'deprecated conversion' compiler warning 2010-10-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2121 (False positive: Buffer access out-of-bounds when using uint32_t) 2010-10-23 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Java: fixed false positives about uninitialized variable 2010-10-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2120 (False positive: array index out of bounds (unknown type in struct, sub function)) 2010-10-22 Daniel Marjamäki * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed #1819 (False positive: auto variable assignment (unseen typedef)) 2010-10-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2117 (false positive: buffer access out of bounds) 2010-10-22 Daniel Marjamäki * cli/cppcheckexecutor.cpp: astyle formatting 2010-10-22 Lauri Nurmi * Makefile, cli/cppcheckexecutor.cpp, test/test.vcproj, test/testcppcheck.cpp, tools/dmake.cpp: Fixed #2099 (Show an error if none of the given paths was found) 2010-10-22 Daniel Marjamäki * : Merge commit 'tigbuh/master' 2010-10-21 ms * Cppcheck.xcodeproj/project.pbxproj: Adapted Xcode project for version 1.45 and Xcode 3.2.4 2010-10-21 Daniel Marjamäki * test/testmemleak.cpp: memleak: activated todo test case. ticket: #1401 2010-10-21 Daniel Marjamäki * lib/checkpostfixoperator.cpp: Fixed #2116 (Internal error. Token::Match called with varid 0) 2010-10-21 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2112 (Crash scanning qtcreator sources) 2010-10-20 Daniel Marjamäki * lib/checkclass.cpp, lib/checkobsoletefunctions.cpp, lib/tokenize.cpp, test/testtokenize.cpp: JAVA: better handling of java code 2010-10-20 Daniel Marjamäki * lib/filelister.cpp: Objective C: activate checking of .m and .mm files. The normal checking is used. 2010-10-20 Daniel Marjamäki * lib/tokenize.cpp, test/testmemleak.cpp, test/testtokenize.cpp: Fixed #2103 (false positive when variable is checked to NULL and not freed) 2010-10-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2113 (False positive: Memory leak where a pointer is passed in a struct to another function to be freed) 2010-10-20 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2110 (Tokenizer::simplifyTypedef: regression - wrong simplification of 'typedef char TString[256];') 2010-10-19 Daniel Marjamäki * lib/checkmemoryleak.h, lib/checkother.cpp, lib/filelister.cpp, lib/tokenize.cpp, test/testtokenize.cpp: Activated checking of .java and .cs files 2010-10-19 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Stl: improved check for dangerous usage of c_str 2010-10-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2109 (false positive: buffer overrun) 2010-10-18 Kimmo Varis * : Merge remote branch 'remotes/origin/master' 2010-10-18 Reijo Tomperi * cppcheck.cbp: Update codeblocks project file 2010-10-18 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2108 (False positive: the loop might unintentionally skip an element in the container.) 2010-10-18 Kimmo Varis * gui/main.ui: GUI: Shorten menutexts for error/style items. Items located in 'View' menu don't need 'Show' word as View-menu name already implies it is about viewing items. 2010-10-18 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Add support for warning and performance -error types. 2010-10-17 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: check for dangerous usage of string::c_str(). Ticket: #1116 2010-10-17 Daniel Marjamäki * man/manual.docbook: manual: added info about warning/style/performance. Ticket: #2106 2010-10-17 Ettl Martin * : commit 92a1e9e76e903b570ba1b0d04128b425a48789d1 Author: Daniel Marjamäki Date: Sun Oct 17 14:41:00 2010 +0200 2010-10-17 Ettl Martin * lib/checkclass.cpp: fixed style waring (You should use ++ and -- as prefix whenever possible as these are more efficient than postfix operators) in lib/checkclass.cpp 2010-10-17 Kimmo Varis * Makefile, lib/lib.pri: Run dmake to update Makefile and lib/lib.pri. 2010-10-17 Kimmo Varis * lib/filelister_win32.cpp: Add comment that qmake doesn't add _UNICODE define for project files. 2010-10-17 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Add missing files to VS2010 project files. 2010-10-16 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Add missing files to VS projects. Part of fixing ticket #2101. 2010-10-16 Daniel Marjamäki * cli/cppcheck.vcproj, lib/filelister_win32.cpp: unicode: updates to the handling of unicode filenames. Ticket: #2100 2010-10-16 Daniel Marjamäki * cli/cppcheck.vcproj, lib/filelister_win32.cpp: unicode: use short filenames when long filename doesn't work. Temporary solution for #2100 2010-10-15 Daniel Marjamäki * lib/checkstl.h: some more comments 2010-10-15 Daniel Marjamäki * lib/checkstl.cpp: added comments in CheckStl 2010-10-15 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2101 (list in vector iterator usage) 2010-10-14 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2097 (false positive: buffer access out of bounds) 2010-10-14 Daniel Marjamäki * lib/checkpostfixoperator.cpp, test/testpostfixoperator.cpp: astyle formatting 2010-10-14 Debrard Sebastien * : commit fb928b67781e57348f62104b49d94099c825cc9c Merge: d062980 6c582f9 Author: Debrard Sebastien Date: Thu Oct 14 19:08:31 2010 +0200 2010-10-14 Debrard Sebastien * : commit 6c582f9362ca13da701aa3b6b1ed6808ec78db01 Merge: e199e31 b6c995e Author: Kimmo Varis Date: Wed Oct 13 22:16:17 2010 +0300 2010-10-13 Kimmo Varis * win_installer/cppcheck.wxs: WiX Installer: Remove old gui.exe. 2010-10-13 Kimmo Varis * win_installer/readme.txt: Update WiX installer documentation. 2010-10-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2096 (False positive: buffer overrun (extern array)) 2010-10-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2082 (Tokenizer::simplifyTypedef: wrong handling of array) 2010-10-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2093 (False positive: buffer access out of bounds (unknown type)) 2010-10-13 Pete Johns * lib/checkother.cpp: Fixed MSVC++ compiler warning (pointers are not bools) 2010-10-13 Pete Johns * lib/checkother.cpp: Removed redundant code. localClassDefinition is no longer required due to improved isIdentifierObjectType() in commit fbd3d92. 2010-10-13 Pete Johns * lib/checkother.cpp, test/testother.cpp: Fixed #2084 (False positive: object destroyed immediately (struct and function with same name)) Tightened up class definition matching so as not to match C-style struct tags. 2010-10-13 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #2089 (False negative: Function can be const (calling const function)) 2010-10-12 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2087 (False positive: Array 'str[1]' index 1 out of bounds) 2010-10-12 Debrard Sebastien * lib/checkpostfixoperator.cpp: warning de compilation 2010-10-12 Debrard Sebastien * lib/checkpostfixoperator.cpp: comment 2010-10-12 Debrard Sebastien * Makefile, lib/checkother.cpp, lib/checkother.h, lib/checkpostfixoperator.cpp, lib/checkpostfixoperator.h, test/testother.cpp, test/testpostfixoperator.cpp: increment check 2010-10-12 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #2088 ([test.c:12]: (error) Buffer access out-of-bounds: l) 2010-10-12 Pete Johns * .gitignore, Makefile, tools/dmake.cpp: Added tags file for faster code navigation. [Helpful for newbies like me] 2010-10-12 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2085 (False negative: function can be const when member variable is compared) 2010-10-12 Pete Johns * man/cppcheck.1.xml: Licensing: Using the GPL 3 license 2010-10-11 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Array index: detect array index out of bounds when datatype is unknown. Ticket: #2086 2010-10-11 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: assignment in assert: modified the error message to better explain the reason why the warning is given. 2010-10-11 Robert Reif * lib/checkclass.cpp: Fixed #2081 (false negative: the function can be declared as const) 2010-10-10 Zachary Blair * lib/checkother.cpp, lib/checkother.h, lib/tokenize.cpp, test/testother.cpp: Fixed #2079 (detect side effects in assert) 2010-10-10 Daniel Marjamäki * lib/tokenize.cpp, test/teststl.cpp, test/testtokenize.cpp: Tokenize: Fixed bug in Tokenize::simplifyKnownVariables 2010-10-10 Daniel Marjamäki * test/teststl.cpp: STL: Added TODO test case for the new double-increment check 2010-10-10 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: fixed false positives in the new double-increment check when iterator shadows outer iterator 2010-10-10 Daniel Marjamäki * test/testother.cpp: fix unit testing 2010-10-10 Daniel Marjamäki * lib/checkother.cpp: Parameter passed by value: updated error message so it mentions the reason. 2010-10-10 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: fixed false positives for the new double-increment check 2010-10-10 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: Added double-increment check. 2010-10-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1705 (false negative: access past end of buffer) 2010-10-10 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #2078 (false negative: member variable not intialized) 2010-10-09 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1778 (false negative: nullpointer dereference (std::string pointer)) 2010-10-09 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: Fixed TODO test case TestStl::erase5 2010-10-08 Daniel Marjamäki * test/teststl.cpp: Unit testing: Added TODO test case TestStl::erase5 2010-10-08 Daniel Marjamäki * test/teststl.cpp: Unit testing: activated TODO test 2010-10-08 Daniel Marjamäki * Makefile, lib/classinfo.h, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: ClassInfo: Removed unused functionality 2010-10-08 Daniel Marjamäki * cli/cppcheckexecutor.cpp: CLI: added newline when printing version info 2010-10-08 Robert Reif * test/testsimplifytokens.cpp: Unit Testing: Added more typedef tests 2010-10-06 Robert Reif * lib/tokenize.cpp: Fixed #2074 ('Internal error in Cppcheck' on complex function typedef (even 2 typedefs!)) 2010-10-05 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp, test/teststl.cpp: STL: refactoring CheckStl::erase so ExecutionPath is used 2010-10-05 Daniel Marjamäki * man/manual.docbook: 1.45: updated the manual 2010-10-04 Kimmo Varis * win_installer/cppcheck.wxs: Fix invalid ID error in MSI installer. 2010-10-04 Pete Johns * lib/checkother.h: Fixed 2072 (object destroyed immediately: add --doc info) 2010-10-04 Pete Johns * lib/checkother.cpp, test/testother.cpp: Fixed 2071 (false positive: object destroyed immediately (when using '= { ... }')) Simplified check within CheckOther::checkMisusedScopedObject() as a result. 2010-10-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Revert "temporarily disable the 'object destroyed immediately' message" This reverts commit fa94312c9a31e4d078464e6e96089b44d86aaeb9. 2010-10-03 Daniel Marjamäki * createrelease: createrelease: removed the tagging from the script 2010-10-03 Daniel Marjamäki * Makefile: Makefile: switch back to debug mode 2010-10-03 Daniel Marjamäki * Makefile: 1.45: updated Makefile for release 2010-10-03 Daniel Marjamäki * Changelog: 1.45: Updated Changelog 2010-10-03 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.45: updated version information 2010-10-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: temporarily disable the 'object destroyed immediately' message 2010-10-03 Reijo Tomperi * gui/erroritem.cpp, gui/erroritem.h, gui/logview.cpp, gui/logview.h, gui/project.cpp, gui/project.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h, gui/statsdialog.cpp, gui/statsdialog.h: Fix encoding in some files 2010-10-03 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2010-10-02 Pete Johns * lib/checkother.cpp, test/testother.cpp: Fix false positive: Misused Scope Object does not pick constructors of local class declarations. It does pick up if there is an unused construction within the function, though. 2010-10-02 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2069 (cppcheck fails to scan OpenBSDs ftp source code) 2010-10-02 Pete Johns * lib/checkother.cpp, test/testother.cpp: Fixed false positive: checkMisusedScopedObject no longer errors on calls to function objects. 2010-10-02 Pete Johns * lib/tokenize.cpp, test/testsimplifytokens.cpp: Prevent Tokenizer::simplifyCalculations() from removing parantheses from calls to Functors. 2010-10-02 Daniel Marjamäki * test/testtokenize.cpp: Unit Testing: added missing TEST_CASE 2010-10-02 Pete Johns * lib/checkother.cpp, test/testother.cpp: Fixed false-positive: Object is referenced on construction struct Foo { void bar() { } }; void fn() { Foo().bar(); // This caused a false-positive } 2010-10-02 Pete Johns * lib/checkother.cpp, test/testother.cpp: Check misused scope object does not pick local class method. Also fixed mistyped withinFuntion ->withinFunction. 2010-10-02 Pete Johns * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Added test for functor false-positive [passing] Also removed typedef's following danmar's review and renamed isClassresults -> isClassResults to make more clear. 2010-10-02 Daniel Marjamäki * test/test.vcproj: Visual Studio: updated test/test.vcproj 2010-10-02 Daniel Marjamäki * test/options.cpp: Visual Studio: Fixed compiler error. It seems visual studio 2008 doesn't like 'not'. 2010-10-02 Pete Johns * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1132 (Detection of misused scope objects in functions) Emits error in the form: [useless_lock.cpp:18]: (error) instance of "Lock" object destroyed immediately ...if an instance of a class or struct is unnamed and therefore destroyed straight after creation. Only checks for misused scope objects within functions. Optimised isIdentifierObjectType() by memoizing. 2010-10-01 Pete Johns * lib/checkother.cpp, lib/checkother.h, lib/token.cpp, test/testother.cpp: Revert "Fixed #1132 (Detection of misused scope objects)" This reverts commit c6acdccfa05dc31c4297d7e6f2467763161874ed. 2010-10-01 Pete Johns * lib/checkother.cpp, lib/checkother.h, lib/token.cpp, test/testother.cpp: Fixed #1132 (Detection of misused scope objects) Emits error in the form: [useless_lock.cpp:18]: (error) instance of "Lock" object destroyed immediately ...if an instance of a class or struct is unnamed and therefore destroyed straight after creation. Removed "internal error" from token.cpp, since in this case varid would be NULL. 2010-09-30 Daniel Marjamäki * lib/checkclass.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testunusedprivfunc.cpp: Fixed #2067 (Template methods do not 'use' private ones) 2010-09-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2066 (false positive: uninitialized variable when initializing through function pointer) 2010-09-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2065 (false positive: memory leak) 2010-09-27 Pete Johns * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1949: assert() hides memory leaks Added separate unit-test (trac1949), initially broken to highlight the error and added "assert" to call_func_white_list. Left TestMemleakInFunction::call_func() as is, as this wouldn't highlight the actual problem. 2010-09-26 Daniel Marjamäki * lib/tokenize.cpp: Optimisation: Made Tokenizer::simplifyInitVar faster 2010-09-26 Pete Johns * .gitignore: Ignore gcov and doxygen ephemera. 2010-09-26 Pete Johns * test/options.h, test/redirect.h: Added Doxygen commenting, per kimmov's request. Of course test/ is not covered currently by the settings in doxyfile. 2010-09-26 Kimmo Varis * gui/gui.pro: GUI: Fix path separators in project file. Qt 4.7 qmake warns about using backslash in paths. 2010-09-26 Pete Johns * test/options.cpp, test/options.h, test/testoptions.cpp: Removed static std::string. which_test() doesn't have to calculate anything, could be inlined. 2010-09-26 Pete Johns * test/testtoken.cpp: Replaced TODO in numeric test with two passing tests. Just getting to grips with how the tokenizer behaves. 2010-09-26 Pete Johns * test/testtoken.cpp: Improved test coverage. Refactored to extract givenACodeSampleToTokenize, reducing LOC. 2010-09-26 Pete Johns * Makefile, test/options.cpp, test/options.h, test/testoptions.cpp, test/testrunner.cpp, test/testsuite.cpp, test/testsuite.h, tools/dmake.cpp: Added `check` target. Runs the test as per `make test`, but with less verbosity. -g GCC-style errors -q quiet tests 2010-09-26 Pete Johns * test/redirect.h: Renamed RedirectInputOutput -> RedirectOutputError This class does not redirect input. 2010-09-26 Pete Johns * test/redirect.h, test/testcmdlineparser.cpp: Extracted Error and Output redirection. Making reuse possible. 2010-09-24 Daniel Marjamäki * lib/tokenize.cpp: Revert "Optimisation: small speedups in the Tokenizer::simplifyTokenList handling" This reverts commit 056037feed8503f5e51428da5cf37aa24d502ffc. 2010-09-24 Daniel Marjamäki * lib/tokenize.cpp: Optimisation: small speedups in the Tokenizer::simplifyTokenList handling 2010-09-24 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1951 (Preprocessor: Compound macro statements not handled correctly) 2010-09-24 Daniel Marjamäki * lib/checkother.cpp: Optimisation: Removed unused and slow code. The code was added to fix #1225 but it is now redundant. 2010-09-23 Daniel Marjamäki * lib/checkother.cpp: Optimisation to make the CheckUninitVar::parse slightly faster 2010-09-23 Pete Johns * .gitignore: dmake can now be made from ./Makefile Ignore this build artefact as well as the one under ./tools, since that can be built too. 2010-09-22 Reijo Tomperi * Makefile, tools/dmake.cpp: Makefile improvements related to clean, dmake and man targets. 2010-09-22 Daniel Marjamäki * lib/cppcheck.cpp, lib/errorlogger.cpp, lib/filelister.cpp, lib/path.cpp, lib/path.h, test/testfilelister.cpp: Fixed #2059 (cppcheck gives wrong path in error description) 2010-09-20 Daniel Marjamäki * lib/token.cpp: Optimisation: optimised Token::Match 2010-09-20 Kimmo Varis * lib/lib.vcproj, lib/lib.vcxproj, lib/lib.vcxproj.filters: Delete unused VS lib-projects. Those projects are just remainder from tries to create a real library from the lib code. 2010-09-20 Kimmo Varis * cppcheck_vs2010.sln: VS2010: Remove lib-project from the solution. The lib-project is not really used for anything. It is just remainder from tries to create real library from lib code. 2010-09-20 Daniel Marjamäki * lib/checkclass.cpp: Optimisation: small optimisation of CheckClass::privateFunctions 2010-09-20 Kimmo Varis * lib/lib.vcxproj, lib/lib.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Update VS2010 solution/project files. 2010-09-20 Pete Johns * Makefile: Autogenerated Makefile updated. 2010-09-19 Pete Johns * tools/dmake.cpp: Wrapped variables in conditions This allows CXX and CXXFLAGS to be overridden without patching. Added PREFIX for MacPorts compatibility, allowing staging to $(DESTDIR)$(PREFIX)/bin, leaving original behaviour unchanged. Exit early if run in incorrect directory or if Makefile cannot be written. 2010-09-19 Pete Johns * runastyle: Fixed syntax error "./runastyle: line 4: --suffix=none: command not found" 2010-09-19 Daniel Marjamäki * lib/token.cpp: Refactorings: Optimised the Token::multiCompare function 2010-09-19 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2056 (False positive: Resource leak) 2010-09-18 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1802 (Preprocessor: macros are expanded wrong) 2010-09-18 Daniel Marjamäki * test/teststl.cpp: STL: added TODO test case 2010-09-18 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Check Class: Removed the 'operator= should not return a const reference' 2010-09-18 Daniel Marjamäki * lib/checkclass.h: CheckClass: the 'virtual destructor' checking is currently inactive 2010-09-18 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #2053 (false positive on list erase) 2010-09-18 Daniel Marjamäki * cli/cmdlineparser.cpp: Fixed #2054 (Missing newline in 'invalid parameter' error message) 2010-09-18 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #2052 (False positive: possible null pointer dereference 'else continue') 2010-09-18 Daniel Marjamäki * all.pro, test/test.pro: removed qmake files for the cli and unit tests 2010-09-18 Daniel Marjamäki * cli/cppcheck.vcproj: Visual Studio 2008: Updated cli/cppcheck.vcproj 2010-09-18 Daniel Marjamäki * cppcheck.sln, test/test.vcproj: Visual Studio 2008: Updated the project/solution files 2010-09-18 Daniel Marjamäki * test/test.pro: updated test/test.pro 2010-09-17 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #2045 (False negative: Uninitialized variable (found with gcc)) 2010-09-17 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Execution Paths: fixed TODO test cases 2010-09-16 Daniel Marjamäki * gui/about.ui: ln-: updated copyright 2010-09-16 Ettl Martin * Makefile: reverted makefile changes back from clang++ to g++ 2010-09-16 Ettl Martin * Makefile, lib/path.cpp: fixed clang++ warning: lib/path.cpp:80:2: warning: no newline at end of file [-pedantic] 2010-09-16 Daniel Marjamäki * Makefile, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, test/test.pro, test/testother.cpp, test/testredundantif.cpp, test/teststl.cpp: Redundant conditions: some refactorings * removed the 'redundant null pointer' check. sometimes it's unsafe to delete NULL pointer. and this check doesn't point out errors anyway. * moved the 'redundant condition' check for set::remove. Moved it to CheckStl. 2010-09-15 Ettl Martin * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: fixed warning from cppcheck: [lib/checkbufferoverrun.h:129]: (style) 'operator=' should not return a const reference 2010-09-15 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #2032 (inline suppressions fail with comment on the same line as function) 2010-09-15 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #2033 (all inline suppressions fail with relative paths) 2010-09-15 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #2049 (False negative: 'Uninitialized variable' error won't show) 2010-09-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: fixed variable declaration simplification 2010-09-14 Daniel Marjamäki * verify/codeeditor.cpp, verify/codeeditor.h: cppcheck-verify: added 'codeeditor' files 2010-09-14 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: the 'failed to parse typedef' messages should not be shown unless --debug-warnings are given 2010-09-14 Daniel Marjamäki * verify/cppcheck-verify.pro, verify/mainwindow.cpp, verify/mainwindow.h, verify/mainwindow.ui: cppcheck-verify: added code editor that highlight the errors 2010-09-14 Daniel Marjamäki * verify/mainwindow.cpp, verify/mainwindow.h, verify/mainwindow.ui: cppcheck-verify: added 'open' menu 2010-09-14 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #2048 (Preprocessor: ifndef incorrectly simplified) 2010-09-14 Robert Reif * lib/preprocessor.cpp: Preprocessor: Report #error configuration when -D is used. Ticket: #2042 2010-09-14 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: Skip bail out in constructors if a virtual function might be called because that would be undefined behaviour. Ticket: #1895 2010-09-13 Daniel Marjamäki * verify/Makefile, verify/cppcheck-verify.pro, verify/main.cpp, verify/mainwindow.cpp, verify/mainwindow.h, verify/mainwindow.ui: cppcheck-verify: changed it into a Qt project 2010-09-13 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Handle C++0x rawstrings by replacing them with normal strings. Ticket: #2022 2010-09-13 Daniel Marjamäki * lib/preprocessor.cpp: Revert "Preprocessor: Report #error configuration when -D is used. Ticket: #2042" This reverts commit 674644cb29f3eed4dcfba7f5dceb8dd0baca229a. 2010-09-13 Robert Reif * lib/preprocessor.cpp: Preprocessor: Report #error configuration when -D is used. Ticket: #2042 2010-09-12 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: reduce false negatives for 'uninitialized variable' when calling base class function. ticket: #1895 2010-09-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: remove redundant 'if return ; else|' 2010-09-12 Robert Reif * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #2042 (#error messages should be displayed when user defines are used) 2010-09-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: reduce 'loop { if continue ;' to 'loop {' 2010-09-12 Daniel Marjamäki * lib/checkmemoryleak.cpp: Memory leaks: insert ';' in the simplifycode to split up the commands 2010-09-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: simplify 'loop { use ; callfunc ; }' to 'use ;' 2010-09-12 Daniel Marjamäki * verify/main.cpp: cppcheck-verify: fixed some false positives for array declarations 2010-09-12 Daniel Marjamäki * verify/Makefile, verify/main.cpp, verify/readme.txt: cppcheck-verify : added subproject 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: simplify 'if break ; break ;' 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: simplify 'use use' 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp: Memory leaks: don't write debug warning for '; alloc ; dealloc ; return ; }' 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: fixed try/catch and nested loops simplifications 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: improved simplification for 'callfunc' 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Improved the simplifycode for 'use ; if| use ;' 2010-09-11 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Update executable name to cppcheck-gui. 2010-09-11 Kimmo Varis * : commit b88ce77e4ac85d1b32981c63cb5c538e9740b6e9 Author: Kimmo Varis Date: Sat Sep 11 12:15:46 2010 +0300 2010-09-11 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2023 (false positive with realloc()) 2010-09-11 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: fixed false positive. ticket: #1895 2010-09-10 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #2030 (False positive: Uninitialized variable when function does not return) 2010-09-10 Kimmo Varis * cli/cmdlineparser.cpp, cli/cmdlineparser.h: Fix ticket #2040 (some cli messages are missing a return at the end) 2010-09-10 Kimmo Varis * : commit 0fd51a814f480ec5ac3dd01b848ec9d5a07cf05a Author: Kimmo Varis Date: Fri Sep 10 17:42:14 2010 +0300 2010-09-10 Robert Reif * lib/checkclass.cpp: Symbol database: Refactoring. ticket: #1895 2010-09-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #2039 (unions not handled properly, false positive about initialization) 2010-09-09 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #2038 (memleak false positive with assignment expression in arguments) 2010-09-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2025 (iso646 c++ operators are not handled correctly) 2010-09-09 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: refactoring - differentiate between member data initialization and assignment and save the order of variable declarations. makes it possible to create some additional checks. ticket: #1895 2010-09-09 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: fixed false negative for uninitialized variable. ticket: #1895 2010-09-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #2037 (memleak not detected in exit path when variable used) 2010-09-08 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: CheckMemoryleaks: reduce 'use ; if return ; dealloc ;' to 'if return ; dealloc ;'. ticket: #2037 2010-09-08 Daniel Marjamäki * cli/cmdlineparser.cpp, test/testcmdlineparser.cpp: cmdlineparser: allow space between -D and define name. ticket: #2036 2010-09-08 Kimmo Varis * test/testcmdlineparser.cpp: Add tests for userdefines and userincludes for CmdLineParser. 2010-09-08 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2035 (Enum 'qboolean' hides typedef with same name) 2010-09-07 Daniel Marjamäki * test/testtoken.cpp, test/testtokenize.cpp: unit testing: moved TestTokenizer::match tests to the TestToken 2010-09-07 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #2030 (False positive: Uninitialized variable when function does not return) 2010-09-07 Daniel Marjamäki * lib/checkclass.cpp, lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp: Fixed #2034 (false positive: unused private function (Borland C++ __property)) 2010-09-07 Reijo Tomperi * test/testcmdlineparser.cpp: One more encoding fix. 2010-09-06 Daniel Marjamäki * cli/cppcheckexecutor.cpp: cmdlineparser: use given settings 2010-09-06 Kimmo Varis * gui/mainwindow.cpp: GUI: use new style API to enable style checks. 2010-09-06 Kimmo Varis * test/testcmdlineparser.cpp: Add more tests for CmdLineParser. 2010-09-06 Kimmo Varis * : commit ed656e02e47df47d98ba079aa418012072fd7584 Author: Kimmo Varis Date: Mon Sep 6 22:45:29 2010 +0300 2010-09-06 Reijo Tomperi * cli/cmdlineparser.cpp, cli/cmdlineparser.h, lib/timer.cpp: Set encoding to UTF-8 for some files. 2010-09-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2024 (Internal Error on multiple append calls on same string object) 2010-09-06 Kimmo Varis * cli/cmdlineparser.cpp, cli/cmdlineparser.h, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters, test/testcmdlineparser.cpp: Add couple of basic tests for CmdLineParser. 2010-09-06 Kimmo Varis * lib/cppcheck.cpp: Add back as GCC requires it. I removed after checking it builds with VS 2008. But Dan pointed out GCC needs that header. 2010-09-06 Kimmo Varis * lib/cppcheck.cpp, lib/cppcheck.h: Remove unneeded includes. 2010-09-06 Kimmo Varis * cli/cmdlineparser.h: Add some comments for the CmdLineParser class. Also remove one unneeded forward declaration. 2010-09-06 Daniel Marjamäki * cli/cmdlineparser.cpp: --help : added info about the '--enable=missingInclude' command 2010-09-06 Stefan Naewe * cli/cmdlineparser.cpp: cmdlineparser: handle '-h'/'--help' correctly 2010-09-06 Robert Reif * lib/checkclass.cpp: const functions: fixed false negatives for the type P. ticket: #1884 2010-09-05 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: removed 'empty catch block' check. to avoid false positives we'll need to check if it is bad with an empty catch block (dead pointer/undefined behaviour/etc) 2010-09-05 Kimmo Varis * : commit c02d1bdce464968dcbe6ec64bb0d036dbb9a7d9d Author: Kimmo Varis Date: Sun Sep 5 14:15:24 2010 +0300 2010-09-05 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Fix GUIDs and attributes for couple of components. 2010-09-05 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Add own component for GUI translation files. 2010-09-05 Kimmo Varis * win_installer/cppcheck.wxs: Installer: combine readme.txt and authors.txt to one component. 2010-09-05 Kimmo Varis * win_installer/config.wxi, win_installer/cppcheck.wxs: Installer: Install new Qt-help help file. 2010-09-05 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Upate translation files. 2010-09-05 Kimmo Varis * Makefile, cli/cmdlineparser.cpp: Fix compiling with GCC. 2010-09-05 Kimmo Varis * lib/cppcheck.cpp: Remove unused function. I forgot to remove the function that was used in command line parsing code. 2010-09-05 Kimmo Varis * test/testcppcheck.cpp: Disable command line tests after refactoring command line handling. Disable the tests until I create tests that work with the new code. 2010-08-31 Kimmo Varis * cli/cmdlineparser.cpp, cli/cmdlineparser.h, cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h: Move CLI command line parsing to own class. 2010-09-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2021 (false positive: syntax error with -std=gnu++0x code) 2010-09-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2020 (false positive: (error) Uninitialized variable, used in asm statement) 2010-09-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed problem in Tokenizer::simplifyRedundantParanthesis when simplifying 'void delete(double num);' 2010-09-04 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #2010 (missing continue in switch check ?) 2010-09-04 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #2015 (### Internal error in Cppcheck. Please report it.) 2010-09-04 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2017 (false positive::struct or union member 'Base::m_ui' is never used) 2010-09-04 Daniel Marjamäki * lib/checkmemoryleak.cpp: Refactoring CheckMemoryLeaks 2010-09-03 Daniel Marjamäki * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, test/testpreprocessor.cpp: Fixed #1872 (Confused -v switch) 2010-09-03 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1976 (False Positives with unions) 2010-09-03 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/executionpath.cpp, test/testmemleak.cpp, test/testother.cpp: Fixed #2014 (False positive with longjmp) 2010-09-03 Robert Reif * test/testclass.cpp: Symbol database: Added todo testcase for better namespace handling. Ticket: #1895 2010-09-02 Daniel Marjamäki * lib/preprocessor.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testpreprocessor.cpp: Fixed #1975 (segmentation fault of cppcheck) 2010-09-02 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Null pointer: Fixed false positive 2010-09-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed Cppcheck warnings 2010-09-02 Robert Reif * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Symbol database: Fixed false negatives for unused private functions. Ticket: #1895 2010-09-02 Sébastien Debrard * gui/filelist.cpp, lib/filelister.cpp: Fixed #1972 (file extensions) 2010-09-02 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #2011 (Parser error in template function) 2010-09-02 Kimmo Varis * win_installer/cppcheck.wxs: GUI: Add more QT DLLs to Windows installer. Help viewer requires help dll and couple of deoendent dlls to be installed also. 2010-09-02 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: adds support for inline functions returning function pointers and starts to convert privateFunctions over to the symbol database. Ticket: #1895 2010-09-01 Kimmo Varis * gui/threadhandler.cpp: GUI: Fix slot name for debugerrors. Now DebugErrors get correctly routed to check log. The wrong slot name also caused a warning printed to the console as reported by thevbm in ticket #2006. 2010-09-01 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testclass.cpp, test/testtokenize.cpp: Fixed #2007 (False positive: member variable not initialized (Borland C++ property)) 2010-09-01 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: refactoring namespace handling. ticket: #2001 2010-08-31 Zachary Blair * gui/gui.pro, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/stats.ui, gui/statsdialog.cpp, gui/statsdialog.h, gui/threadhandler.cpp, gui/threadhandler.h: Fixed #1934 (GUI: Add checking info display) 2010-09-01 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2002 (Wrong operator() parsing) 2010-09-01 Robert Reif * test/testclass.cpp: const functions: Added unit test for ticket #2003 2010-08-31 Kimmo Varis * : commit 55e0e435bd0e6c01f8335c148e95bb2bcf225508 Author: Daniel Marjamäki Date: Tue Aug 31 21:40:51 2010 +0200 2010-08-31 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/cppcheck.cpp, lib/settings.cpp, test/testexceptionsafety.cpp: Exception safety: Removed the noisy checks and keep the useful checks 2010-08-31 Kimmo Varis * Makefile, lib/lib.pri: Fix Linux makefile after moving timer code to own files. 2010-08-31 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, lib/cppcheck.cpp, lib/lib.vcproj, lib/lib.vcxproj, lib/lib.vcxproj.filters, lib/timer.cpp, lib/timer.h, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Move timer code to own cpp/h files. 2010-08-31 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1959 (Do you support the oracle Pro*C ?) 2010-08-31 Kimmo Varis * : commit 688b2aefe9689d70abc2c00eb2ab34f24ff12bc4 Author: Daniel Marjamäki Date: Tue Aug 31 21:04:17 2010 +0200 2010-08-31 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, lib/lib.vcxproj, lib/lib.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Fix building CLI with VS2010. 2010-08-31 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #2004 (False positive in 'variable assigned a value but is never used' check) 2010-08-31 Kimmo Varis * cli/cppcheck.vcproj, lib/lib.vcproj, test/test.vcproj: Fix CLI build with VS2008. 2010-08-31 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1996 (False positive for 'Variable foo is assigned a value that is never used') 2010-08-31 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId : don't give operator function variable id 'operator new []('. Ticket: #1997 2010-08-31 Daniel Marjamäki * lib/checkobsoletefunctions.h, lib/tokenize.cpp, test/testobsoletefunctions.cpp, test/testtokenize.cpp: Fixed #1999 (False positive: uninitialized variable (__published variables)) 2010-08-31 Debrard Sébastien * Makefile, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkobsoletefunctions.h, lib/lib.pri, test/testdangerousfunctions.cpp, test/testobsoletefunctions.cpp: Fixed #2005 (refactoring dangerous / obsolete functions checks) 2010-08-31 Robert Reif * lib/checkclass.cpp: Fixed #2003 (false positive in set functions) 2010-08-31 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2001 (No 'The function ... can be const' warnings when base class is in namespace.) 2010-08-31 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #2000 (segmentation fault of cppcheck with bitfield) 2010-08-31 Robert Reif * lib/tokenize.cpp: Fixed #1887 (internal error in GLee) 2010-08-30 Daniel Marjamäki * lib/checkclass.h: Fixed #1998 (VS compiler warning with current HEAD) 2010-08-30 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1997 (operator new [] simplified wrong) 2010-08-30 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, lib/lib.vcproj, lib/lib.vcxproj, test/test.vcproj, test/test.vcxproj: Revert "Visual Studio: Added /MP switch" This reverts commit 2450a80556def477ff43459484ca8ace3dc17e57. 2010-08-30 Daniel Marjamäki * lib/check.h, lib/errorlogger.h: Fixed #1886 (Associate header file with code file including it) 2010-08-30 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: better handling of operator functions. Ticket: #1895 2010-08-30 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1988 (segmentation fault of cppcheck with wrong syntax of -std=c++0x) 2010-08-29 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1993 (False negatives: uninitialised variables in constructor) 2010-08-29 Daniel Marjamäki * test/testtokenize.cpp: Tokenizer: Added testcase that asserts that there are not internal errors when using typedefs. Ticket: #1887 2010-08-29 Daniel Marjamäki * lib/cppcheck.cpp, readme.txt: mention the manual in the --help output 2010-08-29 Kimmo Varis * gui/threadresult.cpp: Fix error I made merging my internal error handling. GUI didn't show debug warnings even if they were enabled. 2010-08-29 Daniel Marjamäki * lib/checkobsoletefunctions.cpp, test/testobsoletefunctions.cpp: Fixed #1994 (False 'Found obsolete function' positive) 2010-08-29 Daniel Marjamäki * runastyle, runastyle.bat: astyle: prevent creating backup files 2010-08-29 Kimmo Varis * : commit b0fa7bfd8cdbd344ae5cf4134d76460e7fc8b695 Author: Kimmo Varis Date: Sun Aug 29 09:38:03 2010 +0300 2010-08-28 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: GUI: Output debug errors to log view. Debug errors were not shown anywhere in the GUI, they were just ignored. This commit adds new signal for those debug errors and directs them to checking log. Solves ticket #1898 (GUI: Handle internal errors from lib) 2010-08-28 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #1989 (false positive: Variable 'Aux13' is assigned a value that is never used) 2010-08-28 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: Refactorings. Ticket: #1895 2010-08-28 Kimmo Varis * gui/mainwindow.cpp: GUI: Disable debug warnings for now. 2010-08-28 Kimmo Varis * gui/mainwindow.cpp: GUI: Fix compiling. 2010-08-27 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Tokenizer::simplifyInitVar : Refactorings and fixes related to ticket #1989 2010-08-27 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.cpp, test/testmemleak.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp: Added --debug-warnings that we can use to enable various debug warnings 2010-08-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1984 (false positive: syntax error in for loop (< -operator)) 2010-08-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1985 (false positive: syntax error in try catch-block with for()-loop inside) 2010-08-26 Daniel Marjamäki * lib/executionpath.cpp: quick fix for #1969 (False positive: Uninitialized variable when exit() is called before variable is used.) 2010-08-26 Daniel Marjamäki * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #1966 (False positive: Unused private function (virtual function in base class)) 2010-08-26 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1945 (False positives when a for loop header is in a macro) 2010-08-26 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1951 (Preprocessor: Compound macro statements not handled correctly) 2010-08-26 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer::simplifyTypedef: Report about unhandled typedefs. Ticket: #1821 2010-08-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1981 (false positive: syntax error on template operator <) 2010-08-26 Robert Reif * lib/tokenize.cpp: Code cleanup 2010-08-25 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: If syntax errors are found then don't return a token list. Ticket: #1961 2010-08-25 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Detect some syntax errors when trying to use templates. Ticket: #1961 2010-08-25 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: fix 2 problems related to ticket 1976: 1. nested unnamed anonymous structures and unions were not supported. 2. declaration split up in class had bug if proceeded by access specifier. 2010-08-25 Daniel Marjamäki * gui/helpwindow.cpp, gui/helpwindow.h, gui/mainwindow.cpp: GUI: some fixes of help * moved the help file to the application folder * use absolute path instead of relative path for helpfile * show warning messages if help file doesn't exist or fails to be loaded 2010-08-25 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Disable project opening while checking files. 2010-08-25 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Fix enabling project closing action. Project closing action was not enabled when the project file was opened from the checked directory. Also update the window caption to contain project file name that was opened from the checked directory. 2010-08-25 Robert Reif * lib/tokenize.cpp: Fixed gcc compiler warning about uninitialized variable tok1. Ticket: #1965 2010-08-25 Kimmo Varis * gui/mainwindow.h: GUI: Fix GCC build failure because of copy-paste error. 2010-08-25 Kimmo Varis * gui/mainwindow.cpp: Fixed #1978 (Fix compiler warnings in GUI (MainWindow::mExiting’ will be initialized after...)) 2010-08-25 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: Fixed #1977 (GUI crashes when checking a directory) The GUI was crashing if no project files were in checked directory. I missed this case in my own testing because I had created test project files for each directory. Whoops! Anyway, this now also makes silently loaded project files (project file residing in directory but not load by the user) as normal projects in the GUI. 2010-08-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1948 (C++ class scoping not followed) 2010-08-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1936 (Internal error. Token::Match called with varid 0.) 2010-08-24 Daniel Marjamäki * lib/checkmemoryleak.cpp: Fixed #1960 (cppcheck hangs with 100% cpu load) 2010-08-24 Kimmo Varis * gui/mainwindow.cpp: GUI: Fix for loading "oldstyle" project file. 2010-08-24 Kimmo Varis * : Merge remote branch 'remotes/kimmo/loadable-project' Conflicts: gui/gui.qrc gui/mainwindow.cpp gui/mainwindow.h 2010-08-23 Daniel Marjamäki * gui/gui.qrc, gui/helpwindow.cpp, gui/helpwindow.ui: GUI: Added icons to the help window. 2010-08-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1970 (Internal error. CheckClass::SpaceInfo::getVarList found variable '_root' with varid 0.) 2010-08-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1967 (Tokenizer::setVarid doesn't set variable value (list of function pointers)) 2010-08-23 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Simplified the bitfields handling. This patch just looks for the bitfield signature but doesn't care about the type. I don't think any other code would have this same signature so it should be OK. We could add code to only look in structures and classes but I don't think that is necessary. Ticket: #1956 2010-08-22 Robert Reif * lib/token.cpp, lib/token.h, lib/tokenize.cpp: Refactoring handling of microsoft types. Ticket: #1956 2010-08-22 Robert Reif * lib/token.cpp, lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::simplifyBitfields: fixed more issues. Ticket #1956 2010-08-22 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: better handling of bitfields. Ticket: #1956 2010-08-22 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify DECLARE_DYNAMIC and DECLARE_DYNCREATE 2010-08-22 Kimmo Varis * cppcheck.cppcheck: GUI: Add project file for Cppcheck. 2010-08-21 Kimmo Varis * gui/mainwindow.cpp: GUI: Fix bug that same defines were added to list several times. 2010-08-21 Kimmo Varis * gui/projectfile.txt: Improve project file documentation. 2010-08-21 Kimmo Varis * gui/mainwindow.cpp: GUI: Use rootpath from Project file. If rootpath is given in project file then use it as a current directory. Also check if paths given in project file are relative and use rootpath as base path for relative paths. 2010-08-21 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: simplify bitfields. Ticket: #1956 2010-08-21 Kimmo Varis * gui/project.cpp, gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add project root path to Project file -dialog. 2010-08-21 Daniel Marjamäki * gui/helpwindow.cpp, gui/helpwindow.ui: GUI: updated helpwindow ui 2010-08-21 Daniel Marjamäki * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Fixed help window leaks and made sure it is closed when the gui is closed 2010-08-21 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: handle DECLARE_DYNAMIC. Ticket: #1956 2010-08-21 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1965 (tokenizer::simplifyEnum add support for C++0x enums) 2010-08-20 Kimmo Varis * gui/projectfile.cpp, gui/projectfile.h, gui/projectfile.txt: GUI: Add new optional root-element to project file. Add support for new root-element to project file. This element defines project root directory if given. If not given then project root is directory where the project file is located. 2010-08-20 Daniel Marjamäki * gui/help/online-help.qhp: GUI: fixed the online-help.qhp file listing 2010-08-20 Daniel Marjamäki * : GUI: Removed the help collection file because it didn't work on different Qt setups 2010-08-20 Daniel Marjamäki * gui/gui.pro, gui/gui.qrc, gui/help/ch01.html, gui/help/ch02.html, gui/help/ch02s02.html, gui/help/ch02s03.html, gui/help/ch02s04.html, gui/help/ch02s05.html, gui/help/ch02s06.html, gui/help/ch02s07.html, gui/help/ch02s08.html, gui/help/ch03.html, gui/help/ch04.html, gui/help/ch05.html, gui/help/ch06.html, gui/help/ch07.html, gui/help/ch08.html, gui/help/ch09.html, gui/help/ch10.html, gui/help/ch10s02.html, gui/help/ch10s03.html, gui/help/ch10s04.html, gui/help/ch10s05.html, gui/help/index.html, gui/help/online-help.qhp, gui/helpwindow.cpp, gui/helpwindow.h, gui/helpwindow.ui, gui/mainwindow.cpp: GUI: Updated online-help. This is still under work. 2010-08-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1964 (False positive: function can be const (get this)) 2010-08-20 Daniel Marjamäki * gui/mainwindow.cpp: astyle formatting 2010-08-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId : fixed problem for class members 2010-08-20 Daniel Marjamäki * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, lib/lib.vcproj, lib/lib.vcxproj, test/test.vcproj, test/test.vcxproj: updates of Visual Studio files 2010-08-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1954 (False positive: function can be const (derived class)) 2010-08-20 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1963 (typedef array incorrectly simplified) 2010-08-19 Kimmo Varis * gui/mainwindow.cpp: GUI: Prevent opening new files or directories when project file loaded. 2010-08-19 Kimmo Varis * gui/mainwindow.cpp: GUI: Set current directory when loading a project file. 2010-08-19 Daniel Marjamäki * : GUI: Added generated file online-help.qhc because it is not yet autogenerated when building 2010-08-19 Daniel Marjamäki * gui/gui.qrc, gui/help/buildhelp.bat, gui/help/index.html, gui/help/online-help.qhcp, gui/help/online-help.qhp: GUI: added simple help file 2010-08-19 Daniel Marjamäki * gui/gui.pro, gui/mainwindow.cpp: GUI: quick fix for #1957 (Unable to compile gui.pro with Qt Creator in Windows) 2010-08-19 Kimmo Varis * gui/gui.qrc, gui/main.ui: GUI: Add icon for Open Project and add it to toolbar. 2010-08-18 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, lib/tokenize.cpp, lib/tokenize.h, test/testclass.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Symbol database: bug fixes. Ticket: #1895 2010-08-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1955 (cppcheck hangs with 100% cpu load) 2010-08-17 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #1944 (segfault in Tokenizer::simplifyLogicalOperator) 2010-08-17 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: #1943 (segmentation fault of cppcheck (= default)) 2010-08-17 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1946 ('Dereferenced iterator erased' false positive) 2010-08-17 Kimmo Varis * gui/project.cpp, gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add check paths field to Project File -dialog. 2010-08-17 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: Fixed the error reporting so errors are shown in the gui. Ticket: #1895 2010-08-17 Kimmo Varis * gui/mainwindow.cpp: GUI: Set project filename to main window caption. When project file is closed the caption is emptied. 2010-08-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1942 (false positive: uninitialized variable in __asm__ statement) 2010-08-16 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: fixed problems with namespaces. Ticket: #1895 2010-08-16 Daniel Marjamäki * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1941 (Internal error::Space Info::getVarList found variable with varid 0) 2010-08-15 Kimmo Varis * gui/mainwindow.cpp: GUI: Leave new project file open and selected. When user creates new project file one probably wants to keep using the same project file. So leave it open for use. 2010-08-15 Sébastien Debrard * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h: Refactoring of obsolete functions checks. Ticket: #1940 2010-08-15 Daniel Marjamäki * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Reverted 7398453cb09aa9f726ac9b19ee2feadf27664744 2010-08-15 Sébastien Debrard * lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Refactoring of obsolete functions checks. Ticket: #1940 2010-08-15 Daniel Marjamäki * gui/applicationlist.cpp: GUI: Use Notepad++ by default in windows. Ticket: #1931 2010-08-15 Tim Gerundt * gui/cppcheck_de.ts: Fixed #1916 (gui: Update german translation) 2010-08-15 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add menuitem to edit open project file. Earlier we opened project file only for editing. But now that we really use project files we need separate feature for editing them. 2010-08-15 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Variable Id: Fixed various bugs related to templates and bitfields. Ticket: #1928 2010-08-15 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add menuitem to close open project file. 2010-08-15 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/project.h: GUI: Open project file and check contained paths. Now we load user-selected project file and start checking paths it contains. Project file can be anywhere as long as it contains valid path(s) to check. 2010-08-15 Daniel Marjamäki * lib/tokenize.cpp: removed unused variable 'dot' 2010-08-15 Daniel Marjamäki * Makefile, tools/dmake.cpp: Disabled the -Wconversion. There are too many compiler warnings currently when using it. 2010-08-15 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: quick fix for #1905 (false positive: the function '...' can be declared as const (member array is assigned)) 2010-08-15 Daniel Marjamäki * gui/applicationlist.cpp: astyle formatting 2010-08-15 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: report error when it is detected that a variable id is missing. Ticket: #1928 2010-08-15 Erik Lax * gui/applicationlist.cpp: Fixed #1931 (GUI should try to detect the best possible editor) 2010-08-15 Erik Lax * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #1932 (false positive: unused private function) 2010-08-14 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #162 (Initialisation of a variable by itself) 2010-08-14 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1928 (missing varId for template class variable) 2010-08-14 Erik Lax * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1935 (false negative: detect buffer overrun from network functions (recv, recvfrom..)) 2010-08-14 Sébastien Debrard * Makefile, lib/checkobsoletefunctions.cpp, lib/checkobsoletefunctions.h, lib/lib.pri, test/testobsoletefunctions.cpp: Fixed #1933 (Add checks for obsolete functions) 2010-08-14 Daniel Marjamäki * lib/errorlogger.cpp: ErrorLogger: Added better \n handling to the XML output 2010-08-14 Daniel Marjamäki * lib/checkother.cpp: dangerous scanf usage: Added verbose information 2010-08-14 Kimmo Varis * gui/projectfile.cpp, gui/projectfile.h, gui/projectfile.txt: GUI: Add check paths to project file. Add new element containing paths to check into the project file. This is for growing project files to real project files that can be loaded and selected from the GUI. And decoupling project files from the directory they reside. So you can put project file in any directory, load it and it checks paths listed. 2010-08-14 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Added scanf check. Modified patch submitted by Eric Sesterhenn 2010-08-14 Ettl Martin * test/testdangerousfunctions.cpp: fixed unit test of dangerous functions 2010-08-14 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: Fixed bug when end of namespace wasn't found. Ticket: #1895 2010-08-14 Daniel Marjamäki * lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h: dangerous functions: removed 'scanf' because it can be used in a safe way 2010-08-13 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: fixed linenr problem in virtual destructors check 2010-08-13 Daniel Marjamäki * lib/checkdangerousfunctions.cpp: Dangerous functions: Improved error messages 2010-08-13 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: removed _GLIBCXX_DEBUG because it doesn't work in cygwin. added -Wconversion 2010-08-13 Erik Lax * lib/checkstl.cpp, test/teststl.cpp: Fixed #1930 (false negative: bad iterators checks fails to detect bugs with preincrement) 2010-08-13 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: Refactoring virtual destructors check. Ticket: #1895 2010-08-13 Robert Reif * lib/checkclass.cpp: Symbol database: move finding base classes until after all classes are found because of template instantiation. Ticket: #1895 2010-08-13 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: refactoring variable handling. Ticket: #1895 2010-08-12 Daniel Marjamäki * man/manual.docbook: doc: added a little section about excluding a file or folder from checking 2010-08-12 Daniel Marjamäki * cli/cppcheckexecutor.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, man/cppcheck.1.xml: Added command line option --report-progress. ticket: #1926 2010-08-12 Ettl Martin * Makefile, lib/checkbufferoverrun.cpp, lib/preprocessor.cpp: actived Wconversion flag in Makefile and fixed almost all Warnings from gcc-4.4 2010-08-12 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Symbol database: fix a small bug and add more tests. ticket: #1895 2010-08-11 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: better handling of 'friend'. ticket: #1895 2010-08-11 Daniel Marjamäki * lib/tokenize.cpp: Optimisation in Tokenizer::tokenize 2010-08-11 Kimmo Varis * gui/FileList.cpp, gui/FileList.h, gui/filelist.cpp, gui/filelist.h, gui/mainwindow.cpp: Fix filenames starting with capital letters. I accidentally committed two new files with filenames starting with capital letters from Windows machine. The Linux build breakage was fixed by fixing the include lines. But the correct fix is to fix filenames as we are using all lower letter filenames in this project. 2010-08-10 Ettl Martin * gui/FileList.cpp, gui/mainwindow.cpp: gui: fixed regression du to case sensitifity of Linux 2010-08-10 Daniel Marjamäki * lib/tokenize.cpp: Optimisation: Made inner loop in Tokenizer::setVarId faster 2010-08-10 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer::setVarId : Fixed a problem when using static class members 2010-08-10 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Symbol database: Refactoring 2010-08-09 Kimmo Varis * gui/mainwindow.cpp: GUI: Use canonical path as checking path. Cleanup the path name before starting checking and saving it. 2010-08-09 Kimmo Varis * gui/FileList.cpp, gui/FileList.h, gui/gui.pro, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Implement FileList class to handle list of files to check. Create a list of files to check. Currently we only read this list once. But later on we can refer to this list to for example determine which files were checked and which not in aborted checking. 2010-08-10 Robert Reif * test/testclass.cpp: const function check: Added more unit tests 2010-08-10 Robert Reif * gui/resultstree.cpp, gui/resultstree.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/translationhandler.cpp, gui/translationhandler.h, lib/checkbufferoverrun.cpp: Fixed #1925 (fix some cppcheck warnings in cppcheck) 2010-08-09 Robert Reif * test/testclass.cpp: Virtual destructors: extended and fixed the testing 2010-08-09 Robert Reif * test/testclass.cpp: Fixed typo in testcase. Ticket: #1311 2010-08-09 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1922 (False positive: function can be const when both const and non-const functions are provided.) 2010-08-09 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Symbol database: Enhancements and fixes. Ticket: #1895 2010-08-08 Daniel Marjamäki * lib/tokenize.cpp: Optimising: Tokenizer::setVarId when setting variable ids for struct/class members 2010-08-08 Daniel Marjamäki * lib/token.cpp: astyle formatting 2010-08-08 Daniel Marjamäki * lib/token.cpp: Optimisation: Optimised firstWordEquals 2010-08-08 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: 'simplifyCalculations();' should have the same results as 'while (simplifyCalculations());' 2010-08-08 Daniel Marjamäki * cli/cppcheckexecutor.cpp: CLI: increase delay between progress reports from 1s to 10s 2010-08-08 Daniel Marjamäki * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, lib/cppcheck.cpp, lib/cppcheck.h: Refactoring: Cppcheck::reportProgress needs to call _errorLogger::reportProgress. Ticket: #1625 2010-08-08 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: Made Tokenizer::simplifyCalculations a little faster 2010-08-07 Daniel Marjamäki * test/testpreprocessor.cpp: Visual Studio: Fixed unit tests. Ticket: #640 2010-08-07 Daniel Marjamäki * lib/checkother.cpp: Performance: Refactoring CheckOther::nullPointerStructByDeRefAndChec to make it faster 2010-08-07 Daniel Marjamäki * lib/preprocessor.cpp: visual studio: fixed a few compiler warnings (when saving istream::get result in a char) 2010-08-07 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1923 (False positive: Possible null pointer derefence in else if) 2010-08-07 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1921 (false positive: the function '...' can be declared as const (inline friend)) 2010-08-07 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1894 (unreadVariable false positive with const references) 2010-08-07 Daniel Marjamäki * lib/checkclass.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testclass.cpp: Fixed #1881 (false positive: The function '...' can be const (nonconst code is hidden inside #if)) 2010-08-07 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h: Symbol Database: Don't use it when it is not needed 2010-08-07 Daniel Marjamäki * lib/checkclass.h: Refactoring: Made CheckClass members private 2010-08-07 Daniel Marjamäki * test/testother.cpp: calculation in sizeof: added two more ASSERT_EQUALS to guard against false positives 2010-08-06 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: New check: look for calculation inside sizeof 2010-08-06 Daniel Marjamäki * lib/filelister.cpp, lib/tokenize.cpp: gcc: fixed some more -Wsign-conversion warnings 2010-08-06 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/cppcheck.cpp, lib/mathlib.cpp, lib/mathlib.h, lib/tokenize.cpp: gcc: fixed some more -Wsign-conversion warnings 2010-08-06 Daniel Marjamäki * Makefile, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/filelister.cpp, lib/preprocessor.cpp, lib/token.cpp, test/testthreadexecutor.cpp, tools/dmake.cpp: Fixed #1487 (fix gcc compiler warnings) 2010-08-06 Daniel Marjamäki * lib/mathlib.cpp: gcc: Fixed some compiler warnings when using -Wsign-conversion. Ticket: #1487 2010-08-06 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h: gcc: Fixed some compiler warnings when using -Wsign-conversion. Ticket: #1487 2010-08-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: gcc: Fixed some compiler warnings when using -Wsign-conversion. Ticket: #1487 2010-08-06 Daniel Marjamäki * lib/settings.h: gcc: Fixed some compiler warnings when using -Wsign-conversion. Ticket: #1487 2010-08-06 Daniel Marjamäki * lib/tokenize.cpp: gcc: Fixed some compiler warnings when using -Wsign-conversion. Ticket: #1487 2010-08-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h: gcc: fixed some compiler warnings when using -Wsign-conversion 2010-08-06 Daniel Marjamäki * lib/checkclass.h, lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h: Borland C++: Fixed compiler errors 2010-08-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.h: Visual Studio: Fixed warnings 2010-08-06 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Compiler dependent parsing of ''. Maybe it should be possible to control it from the commandline instead. Ticket: #640 2010-08-05 Daniel Marjamäki * lib/token.h: suppress visual studio warnings about loosing data when calculating Token::progressValue 2010-08-05 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: better handling of 'return strcmp(..' etc 2010-08-05 Daniel Marjamäki * : commit 2450a80556def477ff43459484ca8ace3dc17e57 Author: Daniel Marjamäki Date: Thu Aug 5 19:02:05 2010 +0200 2010-08-05 Ettl Martin * lib/checkbufferoverrun.cpp: fixed compiler Warning in lib/checkbufferoverrun about comparison of signed and unsigned variable 2010-08-05 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: Added ASSERT_EQUALS near the TODO_ASSERT_EQUALS 2010-08-05 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Buffer overflow: Fixed two TODO test cases 2010-08-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: null pointers: fixed TODO assertion - dereference pointer in function call and then checking that it is not NULL 2010-08-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: null pointers: fixed todo test case 2010-08-04 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: refactoring return handling 2010-08-04 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized variables: fixed false negatives when uninitialized pointer data is read 2010-08-04 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: don't translate 'return p[10];' to 'return use ;' 2010-08-04 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1670 (False negative: Array index out of bounds in return statement) 2010-08-04 Daniel Marjamäki * lib/settings.cpp: astyle formatting 2010-08-03 Daniel Marjamäki * lib/settings.cpp, test/testsettings.cpp: Fixed #1919 (option '--suppressions file' can not work when filename includes colon) 2010-08-03 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: Added ErrorLogger::reportProgress and removed ErrorLogger::ReportProgress. This will make it easier for GUI and other clients to display progress information. 2010-08-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1833 (memory leak detected in version 1.37 not detected in 1.43) 2010-08-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: better handling of 'loop { dealloc ; alloc ; }' 2010-08-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: simplify 'callfunc ; ;' 2010-08-02 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: better checking of function calls. If there are statements after the function call it is unlikely the function call is noreturn 2010-08-02 Cary R * .gitignore: Fixed #1915 (Patch to ignore cppcheck.exe and testrunner.exe) When compiling in the cygwin environment the executables have a .exe extension, so to keep the git status clean ignore both cppcheck.exe and testrunner.exe. 2010-07-31 Kimmo Varis * runastyle, runastyle.bat: Improve Astyle scripts to use variables. Using variables for style and options makes it easier to edit the scripts. Also avoids copy/paste errors when editing scripts. 2010-07-31 Kimmo Varis * cli/threadexecutor.cpp, lib/cppcheck.cpp, test/testthreadexecutor.cpp: Astyle cleanup with new Astyle options. 2010-07-31 Kimmo Varis * runastyle, runastyle.bat: Ticket #1914 Improve Astyle for parenthesis style Tell Astyle to remove extra spaces around parenthesis. 2010-07-31 Daniel Marjamäki * Makefile, lib/check.h, lib/checkexceptionsafety.cpp, lib/checkother.cpp, lib/checkstl.cpp, lib/errorlogger.cpp, lib/filelister_unix.cpp, lib/settings.cpp, lib/settings.h, lib/tokenize.h: cleanup headers 2010-07-30 Kimmo Varis * cli/threadexecutor.cpp: Astyle cleanup. 2010-07-24 Kimmo Varis * runastyle, runastyle.bat: Ticket #1899 Update Astyle flags to match older Astyle behavior. 2010-07-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1912 (False positive: memory leak (calling noreturn function)) 2010-07-28 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1909 (### Internal error in Cppcheck. Please report it) 2010-07-28 Kimmo Varis * win_installer/cppcheck.wxs: Fixing ticket #1908 (setup don't install GUI translations) Patch submitted by Tim Gerundt. 2010-07-27 Ettl Martin * lib/errorlogger.cpp: checkheaders: removed redundant include (token.h) from errorlogger.cpp 2010-07-27 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #1864 (Relative Path of #include-File doesn't work) 2010-07-27 Daniel Marjamäki * lib/tokenize.cpp: Fixed a vs compiler warning. Ticket: #1901 2010-07-27 Kimmo Varis * gui/gui.pro: GUI: Add lib to include- and dependency-directories. 2010-07-27 Kimmo Varis * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, gui/gui.pro, lib/lib.vcproj, lib/lib.vcxproj, test/test.vcproj, test/test.vcxproj: Windows: Add _CRT_SECURE_NO_WARNINGS define. The _CRT_SECURE_NO_WARNINGS define suppresses some Windows-specific compile warnings. Windows has "secure" versions of some functions and compiler outputs warnings that those "secure" versions should be used instead. Since other platforms don't have those functions we just suppress this warning for now on. 2010-07-27 Daniel Marjamäki * Makefile, tools/dmake.cpp: updated dmake. updated Makefile (includes cleanup). 2010-07-27 Emmanuel Blot * .gitignore, Cppcheck.xcodeproj/project.pbxproj: Fix build error on XCode 2010-07-27 Daniel Marjamäki * lib/errorlogger.cpp: Cleanup redundant include 2010-07-26 Zachary Blair * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1889 (false positive: Common realloc mistake) 2010-07-26 Ettl Martin * gui/mainwindow.h: fixed regression due to missing settings.h 2010-07-26 Daniel Marjamäki * lib/errorlogger.h, lib/preprocessor.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Refactoring: Cleanup include that checkheaders reported as not needed 2010-07-26 Kimmo Varis * lib/cppcheck.cpp: Remove unneeded path separator conversion. 2010-07-26 Kimmo Varis * lib/cppcheck.cpp: Fix path separators for couple of messages. 2010-07-26 Kimmo Varis * lib/filelister_win32.cpp: Windows: convert to internal separators when finding files. 2010-07-26 Kimmo Varis * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, lib/lib.vcxproj, lib/lib.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Update VS 2010 project files. 2010-07-26 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/token.cpp, lib/token.h, test/testclass.cpp, test/testconstructors.cpp: Create a symbol database 2010-07-25 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1887 (internal error in GLee) 2010-07-25 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/tokenize.cpp: Refactoring: Report progress when checking takes a long time. Ticket: #1868 2010-07-25 Daniel Marjamäki * lib/token.h: Refactoring: changed 'bool varid=0' to 'bool varid=false' 2010-07-25 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1383 (Preprocessor: define - ifndef problem) 2010-07-24 Daniel Marjamäki * lib/mathlib.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Refactoring: Cleanup headers using checkheaders 2010-07-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp: CheckBufferOverrun: report progress. Ticket: #1868 2010-07-24 Daniel Marjamäki * lib/errorlogger.cpp, lib/errorlogger.h, lib/tokenize.cpp: Report progress when checking a file takes a long time. Ticket: #1868 2010-07-24 Daniel Marjamäki * lib/cppcheck.h: Refactoring: Removed unused variable _xmllist 2010-07-24 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1893 (false positive: dereferencing null pointer (try/catch)) 2010-07-24 Daniel Marjamäki * lib/token.cpp: Refactoring Token::Match: Report errors through ErrorLogger. Ticket: #1839 2010-07-24 Daniel Marjamäki * lib/tokenize.cpp: Refactoring Tokenizer::syntaxError 2010-07-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/mathlib.cpp, lib/mathlib.h, lib/tokenize.cpp: Refactoring MathLib: Report errors through the tokenizer. Ticket: #1839 2010-07-24 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: use MathLib add/sub instead of calculate 2010-07-23 Daniel Marjamäki * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h, test/testsettings.cpp: Refactoring: Settings::addSuppression return error message and callers make sure it's reported properly. Ticket: #1839 2010-07-23 Daniel Marjamäki * lib/checkmemoryleak.cpp: Refactoring: Use Check::reportError instead of writing to std::cout. Ticket: #1839 2010-07-23 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: Don't throw exceptions in the tokenizer upon errors. Ticket: #1866 2010-07-23 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Refactoring: The preprocessor will report errors instead of throwing exceptions. Ticket: #1866 2010-07-23 Daniel Marjamäki * lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h: Refactoring: The Settings::addEnabled will return error message instead of throwing it. Ticket: #1866 2010-07-23 Daniel Marjamäki * lib/checkother.cpp: Variable scope: Improved verbose information (see also 7ef0296) 2010-07-22 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1891 (Internal error when enum assigned to sizeof without brackets) 2010-07-22 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #1828 (### Internal error in Cppcheck. Please report it.) 2010-07-21 Kimmo Varis * lib/preprocessor.cpp: Fix path separators for missing include files-message. 2010-07-21 Kimmo Varis * lib/cppcheck.cpp: Fixed #1892 (Verbosity setting set to false and not set back to original value) Verbosity was set to false to temporarily reduce printing messages. But it was not set back to its original value so rest of the messages that should have been printed for verbose setting enabled were not printed. 2010-07-21 Kimmo Varis * lib/preprocessor.cpp, test/testpreprocessor.cpp: Better fix for #1371. Now handles also system includes. And have couple of tests. 2010-07-21 Kimmo Varis * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Use enum for header file types 2010-07-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1883 (false positive: (style) The function 'A::SetPos' can be const) 2010-07-19 Daniel Marjamäki * test/testcppcheck.cpp: filelocation-refactoring: Fixed unit tests in windows 2010-07-19 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++: Updated project files 2010-07-19 Kimmo Varis * lib/filelister.h: Formatting and improving comments. 2010-07-19 Daniel Marjamäki * : pulled changes from kimmov (filelocation-refactor) 2010-07-19 Kimmo Varis * lib/cppcheck.cpp, lib/path.cpp: Remove './' from begin of paths when printing progress. 2010-07-19 Kimmo Varis * lib/errorlogger.cpp, lib/path.cpp, lib/path.h: Move path simplifying code to Path class. 2010-07-19 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1883 (false positive: (style) The function 'A::SetPos' can be const) 2010-07-19 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1865 (Tokenizer::simplifyRedundantParantheses: wrong handling of 'operator delete') 2010-07-19 Kimmo Varis * lib/path.cpp: Use std::replace() to replace chars in paths. 2010-07-19 Daniel Marjamäki * lib/checkother.cpp: --verbose: added more information for the variableScope error message. 2010-07-19 Kimmo Varis * : Merge remote branch 'remotes/kimmo/master' 2010-07-19 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1880 (false positive: Uninitialized array (initialized in subfunction)) 2010-07-19 Kimmo Varis * lib/errorlogger.h: Remove misleading comment. 2010-07-18 Zachary Blair * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1856 (false positive: "pData" nulled but not freed upon failure) 2010-07-19 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1882 (false negative: function can be declared const) 2010-07-18 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Refactoring CheckClass::initializeVarList. Ticket #1811 2010-07-18 Daniel Marjamäki * lib/tokenize.cpp: fixed the mistake I made when applying patch 2010-07-18 Robert Reif * lib/checkclass.cpp, lib/tokenize.cpp, test/testconstructors.cpp: uninitialized class members: better handling of nested classes 2010-07-18 Kimmo Varis * : Merge remote branch 'origin/master' 2010-07-18 Martin Ettl * test/testother.cpp: #1880: added todo testcase (false positive: (error) Uninitialized variable: y) 2010-07-18 Martin Ettl * test/testmemleak.cpp: added a testcase for ticket #1879 2010-07-18 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1855 (false positive: uninitialized variable (function call in switch condition)) 2010-07-18 Daniel Marjamäki * lib/tokenize.cpp: use cppcheckError to report Tokenizer/Preprocessor error instead of std::cerr 2010-07-18 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1843 (Tokenizer::createTokens() calls std::exit(0)) 2010-07-18 Kimmo Varis * gui/resultstree.cpp: GUI: Fix bug that every error item got own parent item. The code could not find existing parent item since items have paths with native separators and search was done with non-native path separators. 2010-07-18 Kimmo Varis * gui/mainwindow.cpp: Fixed #1870 (Wrong path in report) Current directory was set from first file in the list. That file could be in subdirectory when wrong path was set. Also getting absolute path was buggy. 2010-07-18 Kimmo Varis * gui/mainwindow.cpp: Fixed #1870 (Wrong path in report) Current directory was set from first file in the list. That file could be in subdirectory when wrong path was set. Also getting absolute path was buggy. 2010-07-18 Daniel Marjamäki * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed #1857 (XML tag no more included for unusedFunction error (1.44 regression)) 2010-07-18 Kimmo Varis * gui/threadresult.cpp, lib/errorlogger.cpp, lib/errorlogger.h: GUI: Avoid unnecessary path separator conversion. 2010-07-18 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1311 (false negative: missing const not found in derived classes) 2010-07-17 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Close application cleanly when exiting while checking. Earlier commit allowed cppcheck to exit immediately while checking. This however leads crashes and error logs shown since the thread termination leaves things in inconsistent state. I thought cppcheck would close fast enough so these could be ignored. But apparently not. So this commits adds new bool mExiting for MainWindow and sets that to true when exiting while checking. When the checking is ready this attribute is checked and if it is true the application can now be cleanly exited. 2010-07-17 Kimmo Varis * gui/aboutdialog.cpp, gui/aboutdialog.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Fix includes for dialogs/views. At first we created the GUI in the code and so needed all the layouts etc include to the code. Now when we are using UI files we don't need all those included. So clean them up. Also use forward declarations instead of includes in header files when possible. 2010-07-17 Kimmo Varis * gui/csvreport.cpp, gui/txtreport.cpp, gui/xmlreport.cpp: GUI: Ensure native path separators in reports. Ensure that native separators are used in saved reports. Reports may be parsed by other programs/scripts so it is important that paths are properly formatted. 2010-07-17 Kimmo Varis * gui/resultstree.cpp: GUI: Show paths with native separators in result tree. GUI used to show paths with / separator which is not native separator in Windows. So lets convert shown paths to native separators before adding them to the GUI. 2010-07-17 Kimmo Varis * .gitignore: Add *.orig files to gitignore. 2010-07-17 Kimmo Varis * gui/threadresult.cpp: GUI: Fix building after path handling refactorings. 2010-07-17 Kimmo Varis * cli/cppcheck.vcproj, lib/lib.vcproj, test/test.vcproj: Update Visual Studio projects. 2010-07-17 Kimmo Varis * lib/cppcheck.cpp, lib/mathlib.cpp, test/testthreadexecutor.cpp: Astyle cleanup. 2010-07-17 Kimmo Varis * Makefile, lib/errorlogger.cpp, lib/lib.pri, lib/path.cpp, lib/path.h: Add Path class for path handling routines. In this initial commit the Path class contains two methods for converting path separators. I want to move cppcheck path handling to direction that we internally have paths with / separator. And convert from/to native separators when needed. 2010-07-17 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1730 (False negative in 'variable not initialized in ctor') 2010-07-17 Robert Reif * lib/checkclass.cpp, lib/checkclass.h: Fixed #1875 (CheckClass::getVarList: simplify function use) 2010-07-17 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-07-17 Kimmo Varis * : commit 6db365e6f7004872a6d1076ab6c73276af7c14f4 Author: Kimmo Varis Date: Sat Jul 17 01:27:40 2010 +0300 2010-07-16 Kimmo Varis * gui/common.h, gui/logview.cpp, gui/logview.h, gui/mainwindow.cpp: GUI: Remember log view size. 2010-07-16 Kimmo Varis * lib/errorlogger.cpp: Fix comment. 2010-07-16 Kimmo Varis * lib/errorlogger.cpp, lib/errorlogger.h: Remove unused ErrorLogger::_writemsg() methods. 2010-07-16 Kimmo Varis * gui/logview.cpp, gui/logview.h, gui/logview.ui: GUI: Add Clear-button to log view. 2010-07-16 Kimmo Varis * gui/logview.cpp, gui/logview.h, gui/logview.ui: GUI: Add close-button to log view. 2010-07-16 Kimmo Varis * gui/gui.pro, gui/logview.cpp, gui/logview.h, gui/logview.ui, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: GUI: Add simple log view. Adding a simple log view which shows log messages the core code emits. 2010-07-16 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/mainwindow.cpp: Fixed #1853 (GUI: Allow closing gui.exe while checking) The GUI now asks if user wants to stop the current checking and exit the application. 2010-07-15 Robert Reif * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Fixed #1375 (false negative: uninitialized member variables not found in nested class constructors) 2010-07-14 Kimmo Varis * lib/check.h, lib/checkmemoryleak.cpp, lib/checkunusedfunctions.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp, lib/tokenize.cpp: Refactor ErrorMessage constructor to take Severity::SeverityType. This removes lots of unneeded casting as everybody now uses the Severity::SeverityType. 2010-07-14 Kimmo Varis * : Merge remote branch 'remotes/kimmo/severity-refactor' 2010-07-14 Kimmo Varis * gui/threadresult.cpp: GUI: Fix compile after Severity changes. 2010-07-14 Kimmo Varis * lib/errorlogger.h: Add debug-severity to Severity::SeverityType. 2010-07-14 Kimmo Varis * lib/errorlogger.h: Make Severity::none to match and output empty string. 2010-07-14 Kimmo Varis * lib/errorlogger.cpp, lib/errorlogger.h, lib/preprocessor.cpp: Refactor ErrorMessage's severity to Severity::SeverityType. 2010-07-14 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp, test/testconstructors.cpp: CheckClass: Improvements and refactorings for constructors and variables checking 2010-07-14 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1851 (false positive: Member variable not initialized int ctor) 2010-07-14 Kimmo Varis * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, test/testcppcheck.cpp, test/testsuite.cpp: Rename ErrorMessage::toText() to ErrorMessage::toString(). 2010-07-14 Kimmo Varis * lib/check.h, lib/checkmemoryleak.cpp, lib/checkunusedfunctions.cpp, lib/errorlogger.h: Rename Severity::stringify() to Severity::toString(). 2010-07-14 Kimmo Varis * lib/check.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/errorlogger.h: Rename Severity::e to Severity::SeverityType. 2010-07-14 Kimmo Varis * cli/cppcheck.vcproj: Add cppcheckexecutor.h to VS project. 2010-07-14 Kimmo Varis * gui/erroritem.h, gui/main.cpp, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: GUI: Sent ErrorItem with Error -signal. This commit modifies and registers ErrorItem as proper metatype so it can be used with Qt signals. Then sending Error-signals is refactored so that ErrorItem instances are sent instead of several different arguments that already contained couple of lists. 2010-07-14 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1850 (An access to a nested std::map via a negative integer key is reported as 'Array index out of bounds') 2010-07-14 Daniel Marjamäki * lib/checkstl.cpp: gcc: fixed compiler warning (suggest parantheses) 2010-07-14 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1844 (False positive: invalid iterator when erase() is used in if-else (with continue)) 2010-07-13 Daniel Marjamäki * man/manual.docbook: manual: Added a chapter about the GUI 2010-07-13 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-07-13 Kimmo Varis * : commit b92f7b854a33954da4a1559767207aabc2ab6111 Author: Kimmo Varis Date: Tue Jul 13 12:46:28 2010 +0300 2010-07-13 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Remove ; from the end of the include/define strings in dialog. 2010-07-13 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Rename project file related methods in mainwindow. 2010-07-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1846 (False positive with -s: Variable hides typedef with same name) 2010-07-13 Daniel Marjamäki * : commit ab088bcec9a64155a5ae547680483520bc49de06 Author: Robert Reif Date: Tue Jul 13 08:01:57 2010 +0200 2010-07-13 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1847 (False positive: Method using std::swap<>() can be declared const) 2010-07-13 Daniel Marjamäki * : commit 51beb6d01a0aca3982aa99ac5bd98fb210f65ede Author: Martin Ettl Date: Mon Jul 12 20:02:58 2010 +0200 2010-07-13 Kimmo Varis * gui/project.cpp, gui/project.h: GUI: Add two new files I forgot to add earlier. 2010-07-12 Daniel Marjamäki * gui/xmlreport.cpp: Fixed #1849 (GUI: failed to build gui) 2010-07-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Variable Id: fixed issue with function call. Ticket: #1848 2010-07-12 Martin Ettl * gui/main.cpp: gui/main added spaces between template brackets 2010-07-12 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/projectfiledialog.cpp: GUI: Show project file's name in project file -dialog title. 2010-07-12 Kimmo Varis * gui/projectfile.h: GUI: Don't mention auto-allocated classes even in comments. 2010-07-12 Kimmo Varis * gui/gui.pro, gui/mainwindow.cpp, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add Project class to handle project files and projects. This commit separates logic more from the GUI. The dialog class is only responsible from showing the dialog and handling data in it. Other related classes do the project file reading/saving/etc. 2010-07-12 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: better handling of pointer aliasing. Ticket: #1729 2010-07-12 Kimmo Varis * gui/mainwindow.cpp: GUI: Disable opening XML report file when checking files. 2010-07-12 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/resultstree.cpp, gui/xmlreport.cpp: GUI: Refactor linenumber in ErrorLine to unsigned int. 2010-07-12 Kimmo Varis * gui/threadresult.cpp: GUI: Ignore errors with "debug" severity. GUI doesn't know about "debug" severity. And it is not worth the trouble to add new category everywhere (icons etc) just for internal debug messages. 2010-07-12 Kimmo Varis * lib/tokenize.cpp: Change the "information" error to "debug" error. There was one debugging error sent with "information" severity. That confused the GUI that didn't know such severity. Change the severity to "debug" so the meaning of the error is more clear. 2010-07-11 Kimmo Varis * : commit 8a24435db2f2133f08483b9fb3de9c76100b3d71 Author: Kimmo Varis Date: Sun Jul 11 16:33:49 2010 +0300 2010-07-11 Kimmo Varis * : commit c9d63fa454e6954a0ca1215b1e9b9441c2a01817 Author: Kimmo Varis Date: Sun Jul 11 16:20:19 2010 +0300 2010-07-11 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Ask file location from user if not found. When loading report from XML there is no full paths so the file's real path is not known and cppcheck cannot open it. So if the file has no absolute path then we ask where the file is located from the user. 2010-07-11 Kimmo Varis * gui/report.cpp, gui/resultsview.cpp, gui/xmlreport.cpp, gui/xmlreport.h: GUI: Add errors read from XML report to GUI. 2010-07-11 Kimmo Varis * gui/resultstree.cpp: GUI: Fix line numbers and filenames in errors. When converting to use new ErrorItem and ErrorLine I made few mistakes in how I handled the data. And for some reason there was not even warnings about converting integers to QStrings. 2010-07-11 Kimmo Varis * gui/erroritem.cpp, gui/erroritem.h, gui/gui.pro, gui/main.cpp: GUI: Fix transporting errors. Need to register integer list as new metatype so that Qt's type system knows how to use it. Adding also additional constructors for the ErrorItem. 2010-07-10 Kimmo Varis * gui/erroritem.h, gui/resultstree.cpp, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h, gui/xmlreport.cpp: GUI: Use integer list instead of variant list for line numbers. 2010-07-10 Kimmo Varis * gui/erroritem.h, gui/gui.pro, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp: GUI: More refactoring to use ErrorItem and ErrorLine. 2010-07-10 Kimmo Varis * gui/csvreport.cpp, gui/csvreport.h, gui/report.h, gui/resultstree.cpp, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h: GUI: Refactor error data passing to use own class. 2010-07-10 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/report.cpp, gui/report.h, gui/resultsview.cpp, gui/resultsview.h, gui/xmlreport.cpp, gui/xmlreport.h: GUI: Read errors from report XML file. This commits adds new "Open XML" item to File-menu. Selecting this menuitem allows user to select report file to open. When the file is read the error data is printed to debug output. Later patches will implement adding error data back to the GUI. 2010-07-10 Kimmo Varis * gui/xmlreport.cpp, gui/xmlreport.h: GUI: Refactoring xmlreport to use pointer to stream writing class. 2010-07-10 Daniel Marjamäki * Makefile: Makefile: debug mode 2010-07-10 Daniel Marjamäki * Makefile: 1.44: updated Makefile for release 2010-07-10 Daniel Marjamäki * Changelog: Changelog: updated for release 2010-07-10 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.44: updated version information 2010-07-10 Daniel Marjamäki * man/manual.docbook: Manual: Better description of -D. As suggested by kwin. Ticket #1212 2010-07-09 Daniel Marjamäki * Makefile, lib/settings.cpp, lib/settings.h, test/testsettings.cpp: Unit Testing: Test that suppressions work 2010-07-09 Daniel Marjamäki * lib/settings.cpp: Fixed #1836 (--suppresions file.txt fails due to wrong line edings) 2010-07-09 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1834 (False positive: invalid iterator when erase() is used in if-else) 2010-07-09 Daniel Marjamäki * lib/settings.cpp: Settings: added '#include ' 2010-07-08 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-07-08 Kimmo Varis * gui/projectfile.ui: GUI: Set buddies in Project file -dialog. 2010-07-08 Kimmo Varis * gui/projectfiledialog.cpp: GUI: Don't write empty elements to project file. 2010-07-08 Kimmo Varis * gui/projectfile.cpp, gui/projectfile.h, gui/projectfiledialog.cpp: GUI: Improve error handling for reading/writing project file. 2010-07-08 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Allow creating new project file. Add new "New project file" item to File-menu and rename existing "Project File" item to "Open Project File". Selecting new file opens empty project file dialog. When the dialog is then closed the user is asked to select a filename for the new project file. 2010-07-08 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2010-07-08 Kimmo Varis * gui/projectfile.cpp: GUI: Fix giving filename to project file saving function. 2010-07-08 Kimmo Varis * gui/gui.cppcheck: GUI: Revert testing changes from project file. 2010-07-08 Daniel Marjamäki * lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/cppcheck.cpp, lib/errorlogger.h, test/testunusedfunctions.cpp: Unused functions: Refactoring 2010-07-08 Daniel Marjamäki * lib/settings.cpp: Suppressions: Validate given id 2010-07-08 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1835 (false positive: uninitialized variable when using ?) 2010-07-08 Kimmo Varis * gui/gui.pro: GUI: Remove custom lrelease target. Remove the custom lrelease target since it fails to work in Fedora 13. In Fedora 13 there is no 'lrelease' binary but 'lrelease-qt4'. 2010-07-08 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: fixed false positive reported in #1729 2010-07-08 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: Better aliasing support (Ticket #1729) 2010-07-08 Kimmo Varis * gui/projectfile.txt: GUI: Update project file spec. Remove autoalloc list from example and remove mentioning that there is no GUI for project files. 2010-07-08 Kimmo Varis * gui/gui.cppcheck, gui/projectfile.cpp, gui/projectfile.h, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Implement writing project file data to disk from dialog. This commit implements writing data in the project file dialog back to project file. 2010-07-07 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Realloc: changed the error message. I think it's better to mention realloc in the message. 2010-07-07 Kimmo Varis * gui/gui.pro, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/projectfile.ui, gui/projectfiledialog.cpp, gui/projectfiledialog.h: GUI: Add dialog for editing project file. This commit adds the dialog and code that reads the project file data to the dialog. The changed data is not yet saved back to the file. 2010-07-07 Reijo Tomperi * cli/threadexecutor.cpp, cli/threadexecutor.h, test/testthreadexecutor.cpp: Fixed #1650 (Cppcheck deadlock) http://sourceforge.net/apps/trac/cppcheck/ticket/1650 2010-07-07 Reijo Tomperi * test/testthreadexecutor.cpp: Add more unit tests 2010-07-07 Kimmo Varis * gui/mainwindow.cpp, gui/threadhandler.cpp, gui/threadhandler.h: Fixed #1831 (GUI: no progress bar when rechecking files) Need to initialize the checking also when rechecking. 2010-07-07 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1825 (*log(0) error) 2010-07-07 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: only warn about variables that have variable id > 0 2010-07-07 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1803 (False positive: unused variable: this) 2010-07-07 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1729 (False positive: variable is assigned a value that is never used (pointer aliasing)) 2010-07-07 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1829 (### Internal error in Cppcheck. Please report it.) 2010-07-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1789 (false positive: memory leak (reallocation in subfunction through parameter)) 2010-07-06 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1824 (false positive: unitialised variable) 2010-07-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1827 (### Internal error in Cppcheck. Please report it.) 2010-07-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1821 (simplifyTypedef: better typedef support) 2010-07-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1823 (tokenize && wrong) 2010-07-05 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Buffer Overrun: Fixed false positive when variable is reassigned in called function 2010-07-05 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1820 (False positive: memory leak (auto deallocated class)) 2010-07-05 Daniel Marjamäki * gui/cppcheck_se.ts: GUI: updated swedish translation 2010-07-05 Daniel Marjamäki * gui/cppcheck_se.ts: GUI: updated swedish translation 2010-07-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1817 (False positive: Resource leak (casting)) 2010-07-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1818 (False positive: Dangerous usage of strncpy (copying a constant string)) 2010-07-04 Kimmo Varis * gui/mainwindow.cpp, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: GUI: Refactoring progress/finished handling. Progress signal had also item count with it and then the handler determined that check is ready when max count of progress was done. Also progressbar was practically reset in every progress signal. This was simply fragile code. After this patch progress signal has only the current progress count. Total count of items is given when initializing the checking. And there is separate function for handling check finishing. This also fixes the bug that progressbar was not hidden after checking or when interrupting the checking. 2010-07-04 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Fixup TS translation files after they got messed up earlier. The lupdate got confused of removing "Show security errors" and there being existing string "Show style errors". lupdate thought the "Show style errors" was a new version ("similar enough") of "Show security errors" string instead of new string to translate. Or actually existing translated string. So many translations got "Show style errors" translated by earlier translation of "Show security errors". This commit fixes the mess by manually removing "Show security errors" references and restoring correct translations of "Show style errors" from earlier file versions. Good lesson to learn about lupdate behavior. 2010-07-04 Kimmo Varis * gui/gui.cppcheck, gui/mainwindow.cpp, gui/projectfile.cpp, gui/projectfile.h: GUI: Remove code for automatic deallocated classes. Project file code still read the list of automatically deallocated classes from project file. That feature hasn't been supported in few last releases. 2010-07-03 Kimmo Varis * gui/main.ui: GUI: Change UI file to LF EOLs. In previous commit I accidentally committed the UI file with CRLF EOLs. 2010-07-03 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Refactoring toolbar member names to be more consistent. 2010-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Update translation files. 2010-07-03 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add View-menu item for showing/hiding Categories-toolbar. 2010-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/main.ui: GUI: Move menuitem to hide/show main toolbar to own submenu. 2010-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/gui.qrc, gui/main.ui: GUI: Add new toolbar for error/warning categories. This commit adds new toolbar to the GUI for fast and easy switching of different warning//error categories. The icons are currently just placeholders until more descriptive icons are created. 2010-07-03 Kimmo Varis * gui/main.ui, gui/mainwindow.cpp: GUI: Rename main toolbar in code. 2010-07-03 Kimmo Varis * gui/common.h, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Remove remains of "possible error". 2010-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/main.ui: GUI: Remove "Show security errors" action. There was no code using this, just GUI action for it. 2010-07-03 Kimmo Varis * gui/common.h, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Remove remains of "all style". Earlier "all style" was just removed as menu item but all the code related was left in place. This commit actually removes the now unneeded code. 2010-07-02 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1821 (simplifyTypedef: better typedef support) 2010-06-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1790 (mismatching allocation/deallocation false positive) 2010-06-30 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #157 (Forgetting to put a break in a switch statement) 2010-06-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1815 (False positive: uninitialized variable when using ? operator) 2010-06-30 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1816 (Tokenizer: remove restrict keyword) 2010-06-29 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Class checking: Fixed FP for static arrays (not initialized in constructor) 2010-06-29 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1808 (false positive: uninitialized variable with multiple assignment) 2010-06-28 Kimmo Varis * win_installer/cppcheck.wxs: MSI Installer: Fix description text. 2010-06-28 Kimmo Varis * : commit 914891f247dee27826b9ad0ca65c3ece364a8f8f Author: Kimmo Varis Date: Mon Jun 28 20:47:00 2010 +0300 2010-06-28 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: --author=Robert Reif Fixed #1814 (false positive: Variable hides typedef with same name) 2010-06-28 Kimmo Varis * win_installer/modpath.iss, win_installer/readme_InnoSetup.txt: Remove remaining Innosetup installer files. Innosetup installer was removed earlier but some files related to it were not removed. 2010-06-26 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1809 (false positive: uninitialized variable with nested if) 2010-06-26 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1811 (false positive: Uninitialized variable) 2010-06-25 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1808 (false positive: uninitialized variable with multiple assignment) 2010-06-25 Robert Reif * test/testclass.cpp: Unit Testing: Added TODO test case for uninitialized member variable in operator=. Ticket: #1813 2010-06-25 Robert Reif * lib/tokenize.cpp, test/testunusedvar.cpp: Fixed #1813 (false negative: Member variable not assigned a value in operator=) 2010-06-24 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1495 (False -s positive: Member variable not assigned a value in operator=) 2010-06-24 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1812 (false negative: functionVariableUsage doesn't support static variables) 2010-06-24 firewave * lib/checkclass.cpp: Avoid Visual Studio warnings about constant expressions 2010-06-23 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1732 (False positive: Variable not assigned a value (pointer to pointer)) 2010-06-22 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1810 (False positive: Variable 'separator' is assigned a value that is never used) 2010-06-22 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1807 (false positive: Variable is not assigned a value (casting function parameters)) 2010-06-21 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1800 (false positive: memory leak when ptr used as map key) 2010-06-21 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1799 (false positive: Variable is assigned a value that is never used) 2010-06-20 Daniel Marjamäki * lib/tokenize.cpp: Refactoring: Removed redundant checks 2010-06-20 Daniel Marjamäki * lib/checkother.cpp: Refactoring: Reduced copy/pasted code 2010-06-20 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Reduce copy/pasted code 2010-06-20 Martin Ettl * test/testdangerousfunctions.cpp: added testcases for testing dangerous functions: mktemp 2010-06-19 Nicolás Alvarez * lib/preprocessor.cpp: Change size-t to std::string::size_type. 2010-06-19 Nicolás Alvarez * lib/preprocessor.cpp: Fix build error on 64-bit systems. 2010-06-11 Nicolás Alvarez * lib/checkother.cpp, test/testother.cpp: Fix typos in sizeofsizeof error message. 2010-06-19 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1795 (false positive: nullpointer dereference (needs to improve Tokenizer::simplifyKnownVariables)) 2010-06-19 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Fixed #1633 (tokenizer: simplifyKnownVariable: improved handling of arithmetic) 2010-06-19 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1802 (Preprocessor: macros are expanded wrong) 2010-06-19 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Refactoring. Broke out code that parses out the parameters from code. 2010-06-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Borland C++: Fixed compiler errors. When using 'a?b:c', Borland requires that b and c are the same type 2010-06-19 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++: Updated project files 2010-06-18 Robert Reif * test/testunusedvar.cpp: Refactoring testunusedvariables. This fixes #1804. 2010-06-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1801 (simplifyTypedef: duplicate typedefs not handled properly) 2010-06-18 Reijo Tomperi * Makefile, test/testthreadexecutor.cpp, tools/dmake.cpp: Added test case deadlock_with_many_errors() for ticket #1650 http://sourceforge.net/apps/trac/cppcheck/ticket/1650 The test case is currently commented out, because it would cause tests to hang also. 2010-06-17 firewave * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, lib/lib.vcproj, lib/lib.vcxproj, lib/lib.vcxproj.filters, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Removed obsolete checkheaders from Visual Studio projects 2010-06-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1801 (Segmentation fault while scanning Qt's qcups.cpp) 2010-06-16 Leandro Lisboa Penz * test/testmemleak.cpp: Ticket #1789 is not really fixed; added TODO. 2010-06-16 Leandro Lisboa Penz * test/testmemleak.cpp: Improved test of pointer argument realloc. 2010-06-16 Leandro Lisboa Penz * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1789 (false positive: memory leak (reallocation in subfunction through parameter)) Detecting reallocations in the other function. 2010-06-16 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #853 (False positive: memory leak for member variable with unknown function) 2010-06-16 Robert Reif * lib/token.cpp, lib/tokenize.cpp, test/testunusedvar.cpp: variable usage: fix false positives when __attribute__ is used. Ticket: #1792 2010-06-16 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: simplify the alias handling in the checking of variable usage. Ticket: #1729 2010-06-16 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1798 (structure templates) 2010-06-15 Zachary Blair * lib/checkother.cpp: Applied review suggestions for Ticket #920 2010-06-15 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1545 (new check: usage of iterator pointing to invalid memory after reserve) 2010-06-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #887 (Tokenizer: Simplify variable value after loop) 2010-06-15 Daniel Marjamäki * Makefile, lib/checkheaders.cpp, lib/checkheaders.h, lib/lib.pri: removed the deprecated checkheaders 2010-06-14 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #920 (new style check: find empty catch blocks) 2010-06-14 Reijo Tomperi * Makefile, cli/threadexecutor.cpp, cli/threadexecutor.h, cppcheck.cbp, test/testthreadexecutor.cpp: Add testthreadexecutor.cpp 2010-06-14 Robert Reif * lib/checkother.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testunusedvar.cpp: Fixed #1792 (false positive: Variable 'test' is assigned a value that is never used) 2010-06-14 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Fixed #1776 (False Negative: Unitialized array) 2010-06-14 Daniel Marjamäki * lib/check.h, lib/checkbufferoverrun.cpp, lib/checkother.h, lib/executionpath.h, lib/token.h: doxygen: fixed error messages given by doxygen 2010-06-13 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: more specific bailouts to reduce false negatives 2010-06-13 Daniel Marjamäki * test/testmemleak.cpp: Added testcase for #1557 (false positive: memory leak) 2010-06-13 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1783 (false positive: uninitalized variable in constructor/operator=, when calling overloaded functions) 2010-06-13 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1718 (Tokenizer add close braces to for loop at wrong place when if-else presents inside) 2010-06-13 Robert Reif * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp: Fixed #1787 (false negative: out of bounds in derived class) 2010-06-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1510 (false positive '(possible error) Memory leak' when 'a = b = new ...; delete a' (but not b)) 2010-06-12 Daniel Marjamäki * test/testmemleak.cpp: reverted 'added a todo testcase for ticket #1788' 2010-06-12 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1788 (Tokenizer: template destructor is lost) 2010-06-11 Martin Ettl * test/testmemleak.cpp: added a few testcases for checking memory leaks in classes 2010-06-11 Martin Ettl * test/testmemleak.cpp: added a todo testcase for ticket #1788 2010-06-10 Martin Ettl * test/testmemleak.cpp: added todo-testcase for ticket #1401 2010-06-10 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1784 (false positive: Variable is not assigned a value) 2010-06-10 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1782 ((error) ### Internal error in Cppcheck. Please report it.) 2010-06-09 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1781 (false positive: uninitialized variable when using asm statement in macro) 2010-06-09 Martin Ettl * test/testother.cpp: added a todo testcase for ticket 1778 2010-06-08 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: read variable when using syntax '..=*(p);' 2010-06-07 Martin Ettl * AUTHORS: added Martin Ettl to authors list 2010-06-06 Robert Reif * test/testunusedvar.cpp: Variable usage: Added TODO testcases for handling pointer alias. Ticket: #1729 2010-06-06 Martin Ettl * test/testbufferoverrun.cpp: added TODO_TESTCASE for ticket 1734: Array index out of bounds 2010-06-06 Martin Ettl * test/testclass.cpp: added a TODO testcase for ticket 1724 2010-06-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1726 (False negative: null pointer dereference in switch block) 2010-06-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: skipping function call inside allocation 2010-06-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Added allocation function 'g_strdup_printf' 2010-06-06 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1722 (Member variable initialized in call to base class constructor) 2010-06-05 Martin Ettl * lib/checkclass.cpp, test/testclass.cpp: applied patch from php-coder from ticket 1724; removed TODO_TESTCASES; 2010-06-05 Daniel Marjamäki * man/cppcheck.1.xml: man: updated the cppcheck.1.xml file. 2010-06-05 Daniel Marjamäki * lib/checkmemoryleak.cpp: Code coverage: Removed unused code 2010-06-05 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1725 (segfault in ExecutionPath::bailOutVar (probably caused by #1721 fix)) 2010-06-04 Leandro Lisboa Penz * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #73 (memory leaks not found when calling a function that returns allocated memory through a parameter) 2010-06-03 Zachary Blair * AUTHORS: Added Zachary Blair to the AUTHORS file 2010-06-03 Zachary Blair * lib/checkbufferoverrun.cpp: Applied review suggestions for Ticket #568 2010-06-04 Guillaume Miossec * gui/cppcheck_fr.ts: Added french translation 2010-06-03 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1721 (False negative: uninitialized variable in switch block) 2010-06-03 Martin Ettl * test/testclass.cpp: run astyle 2010-06-03 Martin Ettl * test/testclass.cpp: removed a wrong const declaration 2010-06-03 Martin Ettl * test/testclass.cpp: added a testcase and todo testcases for ticket #1724 2010-06-03 Robert Reif * lib/checkother.cpp, lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #1723 (Variable assigned value which is never used but is thrown) 2010-06-02 Daniel Marjamäki * lib/cppcheck.cpp: updated --help output. The --enable is used to enable additional checks. 2010-06-02 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1720 (segmentation fault of cppcheck) 2010-06-02 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: astyle formatting 2010-06-02 Daniel Marjamäki * lib/checkother.cpp: CheckOther::nullConstantDereference: Fixed cppcheck warning message - tok may become null 2010-06-02 Daniel Marjamäki * lib/checkother.cpp: Refactoring of CheckOther::nullConstantDereference 2010-06-01 Zachary Blair * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #568 (string functions with command line arguments may overflow buffer) 2010-06-01 Nicolás Alvarez * generate_coverage_report: coverage report script: Extract only relevant data from the .info file. Only files in the current directory are kept. This gets rid of standard C++ library headers from the coverage report. 2010-06-01 Nicolás Alvarez * generate_coverage_report: coverage report script: Quit immediately on errors, but don't consider missing coverage_report dir when deleting it as an error 2010-06-01 Daniel Marjamäki * test/testunusedvar.cpp: Added unit test for ticket #1720 2010-05-31 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1719 (False negative: memory leak (fgets in condition)) 2010-05-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Fixed bug in CheckMemoryLeak::functionReturnType 2010-05-30 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1717 (False positive: Resource leak with while) 2010-05-30 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer: simplify loops that continue while errno is EINTR 2010-05-30 firewave * lib/checkother.h: Fixed Visual Studio 2010 warning 2010-05-30 firewave * .gitignore: Added *.opensdf to ignore list 2010-05-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: fixed false negative when using uninitialized variable inside malloc call 2010-05-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: better handling when uninitialized variables are used in function calls 2010-05-30 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: ExecutionPath: Better handling of 'FOREACH (..) {}' 2010-05-30 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: ExecutionPath: better handling of 'FOREACH(..){..}' 2010-05-30 Daniel Marjamäki * lib/checkother.cpp: Refactoring uninitialized variables (checking variable declarations) 2010-05-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: better handling of struct variables 2010-05-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1716 (Wrong reporting of leak with close() in a while loop condition) 2010-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: small fixes. add checking of 'g_fopen'. don't let 'fclose' calls be interpreted as 'callfunc' 2010-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1716 (Wrong reporting of leak with close() in a while loop condition) 2010-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1715 (switch with fallthrough and 'return' confuses cppcheck) 2010-05-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1714 (Wrong precedence for shift operators when simplifying calculations?) 2010-05-29 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: enabled the leaks checking when members are not deallocated in the destructor. This checking was previously an --all check so there could be false positives. 2010-05-29 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: astyle formatting 2010-05-29 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: the virtual destructor error message needs to be restricted. marked the checking as inconclusive for now. 2010-05-28 Zachary Blair * : commit 1a25183e8fb5c47c24c6c507e7fad3a0e63fbc28 Author: Robert Reif Date: Sat May 29 07:52:06 2010 +0200 2010-05-28 Zachary Blair * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #818 (Detect sprintf buffer overrun with struct members) 2010-05-29 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1713 (remove Microsoft variants of inline) 2010-05-28 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1671 (simplifyTypedef: support for more typedefs) 2010-05-27 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1712 (False negative: dereferencing uninitialized pointer) 2010-05-27 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #1711 (Wrong typedef name shown when struct declared with __attribute__) 2010-05-27 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1671 (simplifyTypedef: support for more typedefs) 2010-05-26 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1709 (char buffer that is only accessed with pointers is marker not assigned) 2010-05-26 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: astyle formatting 2010-05-26 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1704 (false negative: null pointer dereference) 2010-05-26 Zachary Blair * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #168 (buffer overflow: not enough room for the null terminator) 2010-05-25 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1671 (simplifyTypedef: support for more typedefs) 2010-05-25 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1708 (False positive for const) 2010-05-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1707 (false positive: Memory leak) 2010-05-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Removed TODO 2010-05-23 Daniel Marjamäki * test/testclass.cpp: Unit Testing: Added a few more test cases related to ticket #1700 2010-05-23 Daniel Marjamäki * test/testclass.cpp: Unit Testing: Added test case for ticket 1700 2010-05-23 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer: Removed the Tokenizer::simplifyNamespaces. Ticket: #1700 2010-05-23 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1671 (simplifyTypedef: support for more typedefs) 2010-05-23 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: false positive: Variable is assigned a value that is never used 2010-05-21 Daniel Marjamäki * lib/cppcheck.cpp, lib/cppcheck.h: 2 pass checking: broke out Cppcheck::analyseFile. To be used for tests 2010-05-21 Daniel Marjamäki * lib/check.h, lib/checkother.cpp, lib/checkother.h, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testother.cpp: Added some multipass checking for the uninitialized variables. It is still experimental. You can activate it with the '--test-2-pass' switch. Some more refactorings are needed to make it truly usable, the main thing is to make it thread safe. 2010-05-21 Daniel Marjamäki * lib/tokenize.cpp: fixed gcc compiler warnings (comparing float values) 2010-05-21 Daniel Marjamäki * lib/tokenize.cpp: Fixed gcc compiler warning 2010-05-21 Robert Reif * lib/preprocessor.cpp: Fixed #1698 (Add define support to GUI) 2010-05-21 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: give dead pointer a value 2010-05-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1699 (False positive: The function '...' can be const) 2010-05-20 Robert Reif * gui/mainwindow.cpp, gui/projectfile.cpp, gui/projectfile.h, gui/projectfile.txt: Fixed #1698 (Add define support to GUI) 2010-05-20 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: #1697 (false positive: The function can be const) 2010-05-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1695 (Ticket #1614 is broken using latest from git) 2010-05-18 Daniel Marjamäki * lib/executionpath.cpp: printchecks: better explanation of its purpose. I call it from gdb when I debug ExecutionPaths. 2010-05-18 Daniel Marjamäki * lib/checkmemoryleak.cpp: astyle formatting 2010-05-18 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1646 (False positive: array access after return cannot have default loop value) 2010-05-18 firewave * lib/checkother.cpp, lib/executionpath.cpp: Avoid some Visual Studio warnings 2010-05-18 firewave * .gitignore: Added ipch output folder to ignore list 2010-05-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1691 (False positive: Function parameter 'x' is passed by value. It could be passed by reference instead.) 2010-05-17 Zachary Blair * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/tokenize.cpp, test/testmemleak.cpp: Fixed #1649 (add a warning for potential memory leaks when using realloc) 2010-05-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1685 (segmentation fault of cppcheck) 2010-05-17 Daniel Marjamäki * gui/mainwindow.cpp: Fixed #1689 (failed to build gui) 2010-05-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1673 (Tokenizer::simplifyTypedef causes segfault for boost library) 2010-05-17 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: astyle formatting 2010-05-17 Daniel Marjamäki * lib/tokenize.cpp: Tokenizer: it is bad to do: 'tok->previous()->deleteThis()' 2010-05-17 Daniel Marjamäki * test/test.vcproj: Visual Studio 2008: Updated test project 2010-05-17 Daniel Marjamäki * test/testcppcheck.cpp: asd 2010-05-16 Monika Lukow * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1418 (false negative: buffer access out of bounds) 2010-05-16 Erik Lax * lib/checkclass.cpp, test/testclass.cpp: Fixed #1683 (false positive: The function can be const) 2010-05-16 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1684 (false positive: buffer access out of bounds when using extern variable declaration) 2010-05-16 Daniel Marjamäki * lib/check.h, lib/errorlogger.h: Refactoring: Removed 'possibleError' 2010-05-16 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Refactoring: Removed possibleError messages from CheckMemoryLeaks 2010-05-16 Erik Lax * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1688 (Tokenizer::simplifyKnownVariables and pointer assignments) 2010-05-16 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Refactoring: Removed 'possible error' message about cin 2010-05-16 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Refactoring: Removed some inconclusive checking in CheckBufferOverrun 2010-05-16 Daniel Marjamäki * lib/check.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/errorlogger.h, test/testclass.cpp, test/testdivision.cpp, test/testother.cpp, test/teststl.cpp: Refactoring: Removed Severity::possibleStyle 2010-05-16 Daniel Marjamäki * lib/cppcheck.cpp, man/manual.docbook: doc: updated docs about -D command line flag 2010-05-16 Daniel Marjamäki * lib/cppcheck.cpp, lib/settings.h, test/testcppcheck.cpp: Fixed #1212 (Allow giving used defines in command line) 2010-05-16 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkmemoryleak.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testexceptionsafety.cpp, test/testmemleak.cpp: Code cleanup: Removed autodealloc handling 2010-05-15 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1678 (false positive: Member variable not initialized in the constructor, for arrays of undefined type) 2010-05-15 Erik Lax * lib/checkstl.cpp, test/teststl.cpp: Fixed #1679 (Bad iterators checks fails to detect bugs with indent levels) 2010-05-15 Erik Lax * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Fixed #1680 (Bad iterators checks fail to detect invalidation of iterator for deletion by value) 2010-05-15 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1681 (false negative: memory leak in operator =) 2010-05-15 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Added test CheckOther::sizeofsizeof. Inspired by #1682 2010-05-14 Daniel Marjamäki * lib/mathlib.cpp, test/testsuite.cpp: astyle formatting 2010-05-14 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1682 (Internal error) 2010-05-13 Konrad Windszus * Makefile, lib/checkstl.cpp, lib/cppcheck.cpp, test/testcppcheck.cpp, test/testsuite.cpp, test/testsuite.h, test/tinyxml/changes.txt, test/tinyxml/tinystr.cpp, test/tinyxml/tinystr.h, test/tinyxml/tinyxml.cpp, test/tinyxml/tinyxml.h, test/tinyxml/tinyxmlerror.cpp, test/tinyxml/tinyxmlparser.cpp: Ticket #1318: Make sure error ids are unique 2010-05-13 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1677 (False positive: (style) Variable 'xxx' is assigned a value that is never used) 2010-05-12 Martin Ettl * lib/mathlib.cpp, test/testmathlib.cpp: mathlib:isInt() now handles calles of 'u' and 'l' correctly; testcases added 2010-05-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1671 (simplifyTypedef: support for more typedefs) 2010-05-10 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2010-05-10 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Fixed #1669 (Still seeing 'possible style' warnings in 1.43) 2010-05-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1665 ('If you see this, there is a bug': Token::Match('%var% ( %varid% [,)]', 0)) 2010-05-10 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Better handling of function pointer typedef 2010-05-10 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1666 (simplifyTypedef: add support for typedefs of functions) 2010-05-09 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1648 (mismatch allocate and deallocate calls.) 2010-05-09 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1662 (false positive: Data is allocated but not initialized, when using sprintf) 2010-05-09 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1660 (false positive: Variable is assigned a value that is never used, when using cast) 2010-05-09 Robert Reif * test/testunusedvar.cpp: Added unit test for #5 2010-05-08 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1656 (dangerous usage of erase not detected: for (; it != it2; ++it) ints.erase(it);) 2010-05-08 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1658 (false negative: uninitialized pointer usage) 2010-05-08 Daniel Marjamäki * createrelease: createrelease: more details about dmake 2010-05-08 Daniel Marjamäki * Makefile: Makefile: Set debug mode 2010-05-08 Daniel Marjamäki * Makefile: Makefile: Set release mode 2010-05-08 Daniel Marjamäki * Changelog, createrelease: Changelog: Updated for release 2010-05-08 Daniel Marjamäki * tools/dmake.cpp: dmake: updated compiler flags in release mode. only -Wall. 2010-05-08 Daniel Marjamäki * createrelease: createrelease: mention that the Makefile should be updated 2010-05-08 Daniel Marjamäki * lib/cppcheck.cpp: cli help: show the flags in alphabetical order 2010-05-08 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: Updated version to 1.43 2010-05-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp: refactoring: spell checking comments 2010-05-08 Daniel Marjamäki * man/manual.docbook: manual: updated error message to match latest versions 2010-05-08 Daniel Marjamäki * readme.txt: readme.txt: mention the online manual 2010-05-08 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Refactoring: Changed 'possible style' to 'style' 2010-05-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1654 (False positive: Memory leak with: ( delete ( p ) , ( p ) = 0 );) 2010-05-06 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #959: (new check: wrong usage of fflush()) Simplified and set severity to error 2010-05-06 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1651 (Tokenizer::setVarId wrong handling of return statement) 2010-05-05 Daniel Marjamäki * test/testunusedvar.cpp: Robert Reif refactoring chained assignments 2010-05-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1646 (False positive: array access after return cannot have default loop value) 2010-05-05 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1647 (False positive: buffer is not assigned value (assigned through alias)) 2010-05-04 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1646 (False positive: array access after return cannot have default loop value) 2010-05-04 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1643 (Variable usage (pointer is assigned but never used)) 2010-05-04 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1639 (False positive: unused variable value (pointer aliasing)) 2010-05-03 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #959 (new check: wrong usage of fflush()) 2010-05-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1642 (Tokenizer::simplifyKnownVariables: simplify after loop) 2010-05-02 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: refactoring: changed the severity for strncatUsage from possibleError to style 2010-05-02 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: refactoring: Use style severity instead of possible error for the 'The size argument is given as a char constant' 2010-05-01 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: added testcase for 'if (str.find(%any%)) ..' 2010-05-01 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: refactoring: enable the 'suspicious pointer subtraction' checking 2010-05-01 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1640 (False negative: Unused value (variable is assigned but never read)) 2010-05-01 Daniel Marjamäki * Makefile: Makefile: Updated with dmake 2010-05-01 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed Cppcheck warning about possible null pointer dereference 2010-05-01 Daniel Marjamäki * test/testunusedvar.cpp: astyle formatting 2010-05-01 Slava Semushin * lib/tokenize.cpp, lib/tokenize.h, test/testunusedvar.cpp: Fixed #1574 (chain assignments could be simplified) http://sourceforge.net/apps/trac/cppcheck/ticket/1574 2010-05-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1638 (Tokenizer::simplifyKnownVariables: removing variable declaration) 2010-05-01 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Unit testing: Improved test coverage for variable usage checking 2010-04-30 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1636 (Fix false positive with strncpy termination check) 2010-04-30 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1622 (False positive: buf is not assigned a value (pointer aliasing)) 2010-04-30 Eric Sesterhenn * lib/checkbufferoverrun.cpp: Fixed #1636 (Fix false positive with strncpy termination check) 2010-04-29 Eric Sesterhenn * lib/tokenize.cpp: Fixed #1634 (Null character not correctly tokenized) 2010-04-29 Robert Reif * lib/tokenize.cpp: Fixed #1631 (Tokenizer: remove register keyword) 2010-04-29 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1622 (False positive: buf is not assigned a value (pointer aliasing)) 2010-04-28 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1629 (False negative: null pointer derefence not detected 'c[0] = 0') 2010-04-28 Daniel Marjamäki * lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: Fixed #1632 (false positive: unintialized variable) 2010-04-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1628 (false negative: memory leak when using redundant braces) 2010-04-27 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Variable usage: Use variable id instead of variable name to identify variable 2010-04-26 Daniel Marjamäki * lib/checkother.h: Fixed #1626 ('Unusual pointer arithmetic' false positive) 2010-04-26 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1627 (###### If you see this, there is a bug ###### - Token::Match('%varid% [ %num% ]', 0)) 2010-04-25 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #943 (Tokenizer: improve handling of pointer aliasing) 2010-04-25 Daniel Marjamäki * lib/checkother.cpp: astyle formatting 2010-04-25 Martin Ettl * : commit ec935178fc22d0f35e384c28346122c3614e6575 Author: Martin Ettl Date: Sun Apr 25 13:14:58 2010 +0200 2010-04-25 firewave * lib/executionpath.h: Fixed GCC warning about initialization order 2010-04-25 firewave * lib/checkother.cpp: Fixed Access Violation with --enable=style when no tokens exist 2010-04-25 firewave * lib/executionpath.cpp: Added missing include 2010-04-25 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: ExecutionPath: Better handling of if 2010-04-25 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #948 (array index out of bound not detected 'a[i-1] = 0') 2010-04-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1440 (false negative: memory leak (function parameters)) 2010-04-24 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testsimplifytokens.cpp: Fixed #836 (buffer overrun: memmove) 2010-04-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1146 (improve check: memory leak not detected (allocation in subfunction)) 2010-04-24 Daniel Marjamäki * lib/check.h: --errorlist : don't show inconclusive messages in the output because those are disabled 2010-04-24 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1571 ('C-style pointer casting' should not be reported for C files) 2010-04-24 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #1616 (false positive - Upon exception there is a memory leak) 2010-04-24 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Removed the check for unreachable code. The g++ warning -Wunreachable-code is recommended instead. This closes #1603 (break after a return or goto should not be an error in a switch statement). 2010-04-24 Daniel Marjamäki * test/testunusedvar.cpp: Redundant assignment: Added TODO testcase for detecting redundant assignment in inner scope 2010-04-24 Daniel Marjamäki * test/testunusedvar.cpp: unit testing: Added TODO test case for unused variables when using pointer aliasing. Related with ticket #1622 2010-04-24 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: variable usage: refactoring the checking 2010-04-24 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: tokenizer improvements: remove calling convention (#1619) 2010-04-23 Zachary Blair * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1169 (improve check: divsion by zero not detected when using the shift (>>) operator) 2010-04-23 Reijo Tomperi * Cppcheck.xcodeproj/project.pbxproj, cppcheck.xcodeproj/project.pbxproj: cppcheck.xcodeproj -> Cppcheck.xcodeproj to avoid collision with tab completion in Linux 2010-04-23 Martin Ettl * test/testbufferoverrun.cpp: added further testcases to multidimensional out of bounds unit test 2010-04-23 Martin Ettl * test/testbufferoverrun.cpp: update in todo testcase (line number was wrong) 2010-04-23 Martin Ettl * : commit 572ae0c1b4389ade7ee6296119dc1499e4708a97 Author: Martin Ettl Date: Fri Apr 23 21:56:35 2010 +0200 2010-04-23 Reijo Tomperi * cppcheck.xcodeproj/project.pbxproj, project.pbxproj: renamed: project.pbxproj -> cppcheck.xcodeproj/project.pbxproj 2010-04-23 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #819 (array index out of bounds not detected for multidimension arrays) 2010-04-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1615 (False positive - C-style pointer casting) 2010-04-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp: astyle formatting 2010-04-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Cleanup CheckBufferOverrun 2010-04-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Refactoring: Improved the checkFunctionCalls, warning when size argument is given through char constant 2010-04-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Refactoring: Moved function call check to checkFunctionCalls 2010-04-22 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/token.cpp, test/testbufferoverrun.cpp: CheckBufferOverrun: Fixed false positives caused by refactorings 2010-04-22 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1564 (CppCheck does not recognise redundant IF) 2010-04-21 Robert Reif * lib/checkbufferoverrun.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1619 (tokenizer: remove calling convention) 2010-04-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp: CheckBufferOverrun: simplify checking of read|write problems 2010-04-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: CheckBufferOverrun: Don't give false positives when reading from array with strncpy/strncat 2010-04-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: CheckBufferOverrun: Refactoring the checking of function calls 2010-04-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Refactoring: CheckBufferOverrun refactorings. split up the checkScope into two separate functions. The ArrayInfo usage was improved. Also broke out for-loop handling into separate functions. 2010-04-20 Zachary Blair * lib/checkclass.cpp, lib/checkclass.h, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, test/testcharvar.cpp, test/testclass.cpp, test/testdangerousfunctions.cpp, test/testincompletestatement.cpp, test/testother.cpp, test/testunusedvar.cpp: Fixed #855 (Refactoring: move conditions into checks) 2010-04-20 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Change "Array index -1 corresponds with 4294967295..." error message into "Array index -1 is out of bounds" 2010-04-20 Reijo Tomperi * test/testfilelister.cpp: fileLister_win32.h -> filelister_win32.h 2010-04-20 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1614 (negative array index issues in latest from git) 2010-04-19 Robert Reif * test/testclass.cpp: Unit Testing: Added TODO testcases for ticket #1593 (false negative: the function can be declared as const) 2010-04-18 Daniel Marjamäki * runastyle.bat: runastyle.bat: updated astyle script 2010-04-18 Reijo Tomperi * test/testmemleak.cpp: Fix one compiler warning 2010-04-18 Reijo Tomperi * : commit 8eff4fcbba669191d151255d5e10eda2f14e9106 Author: Daniel Marjamäki Date: Sun Apr 18 21:07:21 2010 +0200 2010-04-18 Reijo Tomperi * lib/checkbufferoverrun.cpp: astyle fix 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp: astyle formatting 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Buffer Overrun: Broke out the checking for negative array index 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: Refactoring: Renamed ArrayInfo::type_size to ArrayInfo::element_size 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Refactoring: Reusing the ArrayInfo in CheckBufferOverrun 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h: BufferOverflow: Refactoring ArrayInfo 2010-04-18 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1602 (functions defined in header outside of class cannot be const) 2010-04-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Buffer overruns: First change to detect overruns in multidimensional arrays (#819) 2010-04-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1613 (False -s positive: Template instantiation hides typedef with same name) 2010-04-18 Robert Reif * lib/tokenize.cpp, test/testclass.cpp: Fixed #1612 (false positive: The function can be const) 2010-04-17 Daniel Marjamäki * test/testbufferoverrun.cpp: Unit Testing: added assertions for todo testcases to detect changes 2010-04-17 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1607 (false positive: variable is assigned a value that is never used) 2010-04-17 Daniel Marjamäki * project.pbxproj: Xcode: Added Xcode project file 2010-04-17 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: fixed false negative when erasing invalidated iterator 2010-04-17 Daniel Marjamäki * test/testunusedvar.cpp: Unit Testing: Added assert for todo testcase to catch changes. 2010-04-17 Daniel Marjamäki * test/teststl.cpp: Unit Testing: Added assert for todo testcase to catch changes. 2010-04-17 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Unused struct member: Fixed false positives 2010-04-17 Daniel Marjamäki * lib/settings.cpp, lib/settings.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testtokenize.cpp: Refactoring: Refactoring the Settings class 2010-04-17 Daniel Marjamäki * lib/cppcheck.cpp: Borland C++: Fixed compiler errors 2010-04-16 Reijo Tomperi * test/testcppcheck.cpp: Add test cases for --template parsing 2010-04-16 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1600 (false positive: After insert, the iterator 'aI' may be invalid) 2010-04-16 Reijo Tomperi * lib/settings.cpp: Fix --template to work again 2010-04-16 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1605 (false positive: uninitialized variable) 2010-04-16 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1607 (false positive: variable is assigned a value that is never used) 2010-04-15 firewave * lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h: Fix #1585 (--append doesn't work with TAB formating) 2010-04-15 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #1595 (case marks improperly tokenized with macro) http://sourceforge.net/apps/trac/cppcheck/ticket/1595 2010-04-15 Daniel Marjamäki * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, gui/aboutdialog.cpp, gui/applicationdialog.cpp, gui/applicationlist.cpp, gui/checkthread.cpp, gui/csvreport.cpp, gui/fileviewdialog.cpp, gui/mainwindow.cpp, gui/projectfile.cpp, gui/report.cpp, gui/resultstree.cpp, gui/resultsview.cpp, gui/settingsdialog.cpp, gui/threadhandler.cpp, gui/translationhandler.cpp, gui/txtreport.cpp, gui/xmlreport.cpp, lib/check.h, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.h, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.h, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/settings.cpp, lib/token.cpp, lib/tokenize.cpp, runastyle, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, tools/extracttests.cpp: astyle: Update to astyle 1.24 2010-04-15 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #1596 ('Index out of bounds' false positive) 2010-04-15 Robert Reif * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1253 (improve check: uninitialized variable not found when using reference) 2010-04-15 Robert Reif * lib/tokenize.cpp, test/testtokenize.cpp: Another fix for #1601 (change simplifyInitVar to split declaration from initialization) 2010-04-15 Zachary Blair * lib/preprocessor.cpp, test/testpreprocessor.cpp, test/testsuite.cpp, test/testsuite.h: Fixed #1526 (Cppcheck checks redundant configurations) 2010-04-14 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1588 (typedef struct incorrectly simplified) 2010-04-14 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #1601 (change simplifyInitVar to split declaration from initialization) 2010-04-14 firewave * .gitignore: Added *.sdf files (created by Vsiaul Studio 2010) to ignore list 2010-04-14 firewave * cli/cppcheck.vcproj, cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck.sln, test/test.vcproj, test/test.vcxproj, test/test.vcxproj.filters: Moved shared files back into executable projects - it caused the instances of the checks to be optimized away 2010-04-14 firewave * cli/cppcheck.vcxproj, cli/cppcheck.vcxproj.filters, cppcheck_vs2010.sln, lib/lib.vcxproj, lib/lib.vcxproj.filters, test/test.vcxproj, test/test.vcxproj.filters: Added Visual Studio 2010 soultion and project files 2010-04-14 firewave * : commit e3e2ee35aa7a0d22bfddc2dedeb4e5e630a769c4 Author: firewave Date: Wed Apr 14 12:01:45 2010 +0200 2010-04-13 Reijo Tomperi * test/testcppcheck.cpp: Add simple --showtime test case 2010-04-13 Reijo Tomperi * test/testpreprocessor.cpp: Fix compiler warning: cast truncates constant value 2010-04-13 firewave * : commit efd18e3d429a9ef9a22bd438dc18f1b8d66b0ed8 Author: firewave Date: Tue Apr 13 22:22:44 2010 +0200 2010-04-13 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix: sizeof(char*) was not simplified correctly 2010-04-13 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #1599 (false positive on if( (f = fopen("foo", "r")) == ((FILE*)NULL) )) http://sourceforge.net/apps/trac/cppcheck/ticket/1599 2010-04-13 Daniel Marjamäki * readme.txt: readme: minor cleanup. we don't need to mention the '--all' flag anymore. 2010-04-13 firewave * cli/cppcheck.vcproj, cppcheck.sln, lib/lib.vcproj, test/test.vcproj: Moved shared files to seperate lib project 2010-04-13 firewave * cli/cppcheck.vcproj, test/test.vcproj: - cleaned up .vcproj files a bit - raised the warning level in test.vcproj to 4 to match cppcheck.vcproj. 2010-04-13 Reijo Tomperi * cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/main.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkthread.cpp, gui/checkthread.h, gui/common.h, gui/csvreport.cpp, gui/csvreport.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/projectfile.cpp, gui/projectfile.h, gui/report.cpp, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, gui/translationhandler.cpp, gui/translationhandler.h, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h, lib/check.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkheaders.cpp, lib/checkheaders.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/classinfo.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/filelister.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h, lib/mathlib.cpp, lib/mathlib.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testexceptionsafety.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp: Update copyright year in all source files 2010-04-13 Reijo Tomperi * lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h: Change some files to UTF-8 2010-04-13 Reijo Tomperi * lib/cppcheck.cpp: Disable "Overall time" output when --showtime is not used 2010-04-13 Daniel Marjamäki * lib/checkother.cpp: astyle formatting 2010-04-13 Zachary Blair * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1530 (possible new check: strlen return value versus zero.) 2010-04-13 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkclass.h, lib/cppcheck.cpp, lib/settings.h, lib/tokenize.cpp, test/testcppcheck.cpp: dos2unix 2010-04-13 firewave * lib/checkbufferoverrun.cpp, lib/checkclass.h, lib/tokenize.cpp: Fixed some VS2008 warnings 2010-04-13 firewave * cli/cppcheck.vcproj: Removed some duplicated .cpp files from "Header Files" in Visual Studio project file 2010-04-13 firewave * test/testcppcheck.cpp: Added test cases for more command-line options 2010-04-13 firewave * lib/cppcheck.cpp, lib/settings.h: More --showtime updates: - removed "average" - added number of results, average processing time and overall time to non-"file" output 2010-04-12 Oliver Stoeneberg * lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h: showtime: refactoring and improving. Added summary/file/top5/average options. 2010-04-12 Daniel Marjamäki * lib/tokenize.cpp: Revert "Optimization: Made Tokenizer::setVarId a bit faster by temporarily assigning 'string id'. This means less string comparisons are needed." This reverts commit 4b8080e425846513c2edae0b34b92d9804f524f4. 2010-04-12 Daniel Marjamäki * test/testtokenize.cpp: Unit Testing: Better unit testing of Tokenizer::setVarId. Related to ticket #1592 2010-04-12 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1590 (False negative: Array index out of bounds: "0 <= i") http://sourceforge.net/apps/trac/cppcheck/ticket/1590 2010-04-12 Oliver Stoeneberg * lib/cppcheck.cpp: Fixed #1591 (Patch to increase --showtime resolution) 2010-04-12 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1588 (typedef struct incorrectly simplified) 2010-04-11 Reijo Tomperi * test/testbufferoverrun.cpp: More tests added to test/testbufferoverrun.cpp 2010-04-11 Reijo Tomperi * : commit 9a4cbe0540118476d6497e5a9cf53ab5c7f8a94f Author: Reijo Tomperi Date: Sun Apr 11 22:53:21 2010 +0300 2010-04-11 Daniel Marjamäki * lib/tokenize.cpp: Optimization: Made Tokenizer::setVarId a bit faster by temporarily assigning 'string id'. This means less string comparisons are needed. 2010-04-11 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1587 (Crash while processing file) 2010-04-11 Reijo Tomperi * test/testcppcheck.cpp: Add some unit tests for command line argument parsing 2010-04-11 Reijo Tomperi * Makefile, tools/dmake.cpp: Enable -Wshadow in Makefile 2010-04-11 Reijo Tomperi * lib/checkstl.cpp, lib/tokenize.cpp: Fix last of the -Wshadow warnings. 2010-04-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Fixed SIGABRT in new checking 2010-04-10 Daniel Marjamäki * Makefile, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fixed #1190 (array index out of bounds when index variable is assigned in a condition) 2010-04-10 Daniel Marjamäki * test/testbufferoverrun.cpp: Unit Testing: Added an ASSERT 2010-04-10 Daniel Marjamäki * test/testbufferoverrun.cpp: Refactoring: simplified test case 2010-04-10 Daniel Marjamäki * gui/main.ui, gui/mainwindow.cpp: gui: removed options for possible error/style 2010-04-10 Daniel Marjamäki * lib/cppcheck.cpp: Cppcheck Help: Removed information about --auto-dealloc because it is not relevant at the moment. 2010-04-10 Daniel Marjamäki * man/manual.docbook: manual: removed information about possible errors. The inconclusive checks have been disabled. Removed section about --auto-dealloc.. this section is not relevant at the moment. 2010-04-10 Daniel Marjamäki * lib/cppcheck.cpp: Cppcheck: Deprecated the command line options -a, --all and --enable=possibleError 2010-04-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkclass.cpp, lib/checkclass.h, lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/checkother.h, lib/checkstl.h, lib/errorlogger.h, lib/settings.cpp, lib/settings.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp, test/teststl.cpp: Refactoring: Disable inconclusive checks. They can still be activated for debugging/testing purposes 2010-04-10 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1357 (problem in stl insert method of set template) 2010-04-10 Zachary Blair * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #779 (Tokenizer: delete register keyword everywhere) 2010-04-10 Daniel Marjamäki * lib/checkclass.cpp: Refactoring: use more specific conditions instead of std::isupper. Only the A-Z are interesting. This also fixes compiler errors. 2010-04-10 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1134 (improve check: pointer access out of bounds not detected (allocated with malloc)) 2010-04-09 Martin Ettl * test/testunusedvar.cpp: ticket 1253 added testcases and one todo 2010-04-09 Reijo Tomperi * cli/threadexecutor.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/token.cpp, lib/token.h, test/testcppcheck.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp: Fix more -Wshadow compile warnings 2010-04-09 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed some false positives for unused struct members 2010-04-09 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1579 (False positive: function can be const when return type is unknown) 2010-04-09 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1584 (False positive: (static) Member variable not assigned a value in operator=) 2010-04-09 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1581 (False positives 'The scope of the variable x can be reduced') 2010-04-08 Martin Ettl * lib/checkmemoryleak.h, lib/cppcheck.cpp: reduced -Wshadow warnings from gcc-4.4 2010-04-08 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1576 ('Index out of bounds' false positive) 2010-04-08 Daniel Marjamäki * lib/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #1537 ('Unused private function' when using pointer to member function) 2010-04-08 Daniel Marjamäki * lib/filelister.h: astyle formatting 2010-04-08 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1580 (unnamed anonymous struct can segfault) 2010-04-07 Martin Ettl * lib/filelister.h: fixed ticket 1578, class Filelister had no virtual dtor 2010-04-07 Robert Reif * test/testclass.cpp: Unit testing: Testing handling of Borland C++ properties 2010-04-06 Reijo Tomperi * lib/checkmemoryleak.cpp: Fix some -Wshadow compile warnings 2010-04-06 Daniel Marjamäki * : commit 7caaee3739e85d3a577e1dba4deb07d9383b87d4 Author: Reijo Tomperi Date: Tue Apr 6 22:53:05 2010 +0300 2010-04-06 Reijo Tomperi * test/testcppcheck.cpp, test/testpreprocessor.cpp, test/testsuite.cpp: Add a few test cases for CppCheck::parseFromArgs 2010-04-06 Martin Ettl * test/testbufferoverrun.cpp: added TODO testcase for checking fwrite() and fread() check for buffer overrun 2010-04-06 Reijo Tomperi * lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/checkother.cpp: Fix vs warnings. Apply patch from kidkat. 2010-04-06 Reijo Tomperi * lib/checkunusedfunctions.h: Fix: warning C4138: '*/' found outside of comment 2010-04-06 Robert Reif * test/testclass.cpp: Unit Testing: Better code coverage of the operator= checking 2010-04-06 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: astyle fix 2010-04-06 Jens Bäckman * lib/checkmemoryleak.cpp: Fix a rare crash with oddly formatted source files 2010-04-06 Martin Ettl * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fixed ticket 997, now fread and fwrite checked for bufferoverrun 2010-04-05 Reijo Tomperi * test/testbufferoverrun.cpp: Fix line number in previously committed unit test 2010-04-05 Daniel Marjamäki * test/testbufferoverrun.cpp: Unit Testing: Added unit test for untested code in CheckBufferOverrun. Using memset on struct. 2010-04-05 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Refactor and fix "After a strncpy() the buffer should be zero-terminated" checking, 2010-04-05 Martin Ettl * lib/checkother.cpp, test/testother.cpp: #ticket 1513: added sqrt() support 2010-04-05 Reijo Tomperi * lib/checkother.cpp: astyle fix 2010-04-05 Martin Ettl * : commit fe7c6aed9f441bc06bf16898be07df7f3ec11d71 Author: Martin Ettl Date: Mon Apr 5 20:07:53 2010 +0200 2010-04-05 Daniel Marjamäki * test/testbufferoverrun.cpp: Unit Testing: Buffer overruns when using memchr/memset/memcpy/etc 2010-04-05 Reijo Tomperi * lib/checkother.cpp, lib/checkother.h, lib/mathlib.cpp: astyle fix 2010-04-05 Martin Ettl * lib/checkother.cpp, test/testother.cpp: #ticket 1513 added fmod() support 2010-04-05 Martin Ettl * lib/checkother.cpp, lib/checkother.h, lib/mathlib.cpp, test/testother.cpp: added atan2() check to ticket #1513 2010-04-05 Daniel Marjamäki * Makefile: Makefile: updated the Makefile with dmake 2010-04-05 Daniel Marjamäki * lib/checkmemoryleak.cpp: Cleanup: Removed unused code from CheckMemoryLeak 2010-04-05 Daniel Marjamäki * test/testtoken.cpp: Refactoring: Renamed TestTOKEN to TestToken 2010-04-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: better handling of 'a[b[..]]' when b is not initialized 2010-03-16 Kimmo Varis * lib/filelister_win32.cpp: Improve ifdeffing. 2010-04-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: Detect reading uninitialized data through array/pointer variable 2010-04-04 Reijo Tomperi * lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/cppcheck.cpp, lib/tokenize.cpp: Fix #1322 (Add cppcheckError and unusedFunction to --errorlist, give out internal errors in xml) http://sourceforge.net/apps/trac/cppcheck/ticket/1322 2010-04-04 Daniel Marjamäki * test/testsimplifytokens.cpp: Refactoring unit testing 2010-04-04 Daniel Marjamäki * test/testtokenize.cpp: Added TODO testcase for ticket #1169 (improve check: divsion by zero not detected when using the shift (>>) operator) 2010-04-04 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: Refactoring: some refactoring of ExecutionPath. The foundError was removed. No automatic bailout of all checks are made when errors are found. 2010-04-04 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1566 (false negative: uninitialized variable) 2010-04-04 Daniel Marjamäki * lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Tokenizer: tokenize 1E-2 into a single token 2010-04-03 Reijo Tomperi * lib/checkother.cpp, lib/cppcheck.cpp, lib/cppcheck.h, test/testcppcheck.cpp: Fix segmentation fault when calling with --errorlist and add a testcase for it. 2010-04-03 Daniel Marjamäki * lib/checkmemoryleak.cpp: Cleanup: Removed redundant simplification in checkmemoryleak.cpp 2010-04-03 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: Cleanup: Removed unfinnished checking of std::find 2010-04-03 Daniel Marjamäki * lib/tokenize.h: astyle formatting 2010-04-03 Daniel Marjamäki * webreport.sh: webreport: detect duplicate code 2010-04-03 Kimmo Varis * cli/cli.pro: Update CLI Qmake project file compiler flags. 2010-04-03 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Refactoring: Moved copy/paste code in Tokenizer 2010-04-03 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h: Refactoring: broke out copy/pasted code 2010-04-03 Daniel Marjamäki * lib/checkother.cpp: Borland C++: Fixed compiler error 2010-04-02 Reijo Tomperi * lib/mathlib.cpp: astyle fix 2010-04-02 Martin Ettl * lib/mathlib.cpp, lib/mathlib.h, test/testmathlib.cpp: added a helper function to mathlib::isNullValue(), it checks wheter a string has a null representation or not and returns a boolian result; extended nullchecks in testmathlib.cpp 2010-04-02 Martin Ettl * test/testmathlib.cpp: coverage report fix: more testcases for mathlib::isInt() added in order to get a better coverage 2010-04-02 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1527 (Function can't be const if it has non-const operator overload call) 2010-04-02 Reijo Tomperi * lib/checkother.cpp: astyle fix 2010-04-02 Martin Ettl * : #ticket #1513 added asin() support 2010-04-02 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h: Cleanup: The Tokenizer doesn't need to handle UTF in code nor multiline string. That is handled in the Preprocessor. 2010-04-02 Reijo Tomperi * lib/checkother.cpp, lib/mathlib.cpp, test/testmathlib.cpp, test/testother.cpp, test/testsuite.h: astyle fix 2010-04-02 Martin Ettl * : commit 1d1d79a1e51f9d990c9c69823c78870ec1c870f0 Author: Daniel Marjamäki Date: Fri Apr 2 20:25:13 2010 +0200 2010-04-02 Martin Ettl * lib/checkother.cpp, lib/mathlib.cpp, test/testmathlib.cpp, test/testother.cpp, test/testsuite.cpp, test/testsuite.h: added acos() check to ticket #1513; added testcases for MathLib::toDoubleNumber(), now double conversion of zeros is handled correctly; changed assertEquals() function of testsuite parameters from unsigned int to double. This is needed to avoid overflow of unsigned int by comparing negative floating point values. 2010-04-02 Daniel Marjamäki * lib/tokenize.cpp, test/testclass.cpp: Fixed #1565 (False positive: Uninitialized variable 'B::j'. There are 2 classes with the name 'B') 2010-04-02 Martin Ettl * lib/checkother.cpp: added log10() check, for checking about parameters passed to mathfunctions that do not make sense 2010-04-02 Daniel Marjamäki * test/testclass.cpp: Added TODO test case to reduce false negatives for uninitialized class members 2010-04-02 Robert Reif * lib/checkclass.cpp: Cleanup: Removed unneeded code 2010-04-02 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1479 (false positive: unintialized variable when using goto) 2010-04-02 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1563 (false positive: function can be const (assignment to static)) 2010-04-02 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1553 (false positive : uninitialized variable for struct timeval from ) 2010-04-02 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, lib/mathlib.cpp, lib/mathlib.h, test/testmathlib.cpp, test/testother.cpp: astyle formatting 2010-04-02 Daniel Marjamäki * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, gui/aboutdialog.cpp, gui/applicationdialog.cpp, gui/applicationlist.cpp, gui/checkthread.cpp, gui/csvreport.cpp, gui/fileviewdialog.cpp, gui/mainwindow.cpp, gui/projectfile.cpp, gui/report.cpp, gui/resultstree.cpp, gui/resultsview.cpp, gui/settingsdialog.cpp, gui/threadhandler.cpp, gui/threadresult.cpp, gui/translationhandler.cpp, gui/txtreport.cpp, gui/xmlreport.cpp, lib/check.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkheaders.cpp, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkunusedfunctions.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/filelister.cpp, lib/filelister_unix.cpp, lib/filelister_win32.cpp, lib/mathlib.cpp, lib/mathlib.h, lib/preprocessor.cpp, lib/settings.cpp, lib/token.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedvar.cpp, tools/dmake.cpp, tools/extracttests.cpp: Reverted 'astyle fix'. Those changes are not in sync with my astyle configuration/setup. 2010-04-02 Martin Ettl * cli/cppcheckexecutor.cpp, cli/threadexecutor.cpp, gui/aboutdialog.cpp, gui/applicationdialog.cpp, gui/applicationlist.cpp, gui/checkthread.cpp, gui/csvreport.cpp, gui/fileviewdialog.cpp, gui/mainwindow.cpp, gui/projectfile.cpp, gui/report.cpp, gui/resultstree.cpp, gui/resultsview.cpp, gui/settingsdialog.cpp, gui/threadhandler.cpp, gui/threadresult.cpp, gui/translationhandler.cpp, gui/txtreport.cpp, gui/xmlreport.cpp, lib/check.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkheaders.cpp, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkunusedfunctions.cpp, lib/cppcheck.cpp, lib/errorlogger.cpp, lib/errorlogger.h, lib/executionpath.cpp, lib/executionpath.h, lib/filelister.cpp, lib/filelister_unix.cpp, lib/filelister_win32.cpp, lib/mathlib.cpp, lib/mathlib.h, lib/preprocessor.cpp, lib/settings.cpp, lib/token.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedvar.cpp, tools/dmake.cpp, tools/extracttests.cpp: astyle fix 2010-04-02 Martin Ettl * lib/checkother.cpp, lib/checkother.h, lib/mathlib.cpp, lib/mathlib.h, test/testmathlib.cpp, test/testother.cpp: ticket #1513 new check: Detecting obviously wrong math call arguments passed to math functions) 2010-04-01 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1548 (False positive: array index out of bounds in for-loop) http://sourceforge.net/apps/trac/cppcheck/ticket/1548 2010-04-01 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1552 (false positive: function can be const (array of struct)) 2010-04-01 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1551 (false positive: The function 'A::vSet' can be const) 2010-04-01 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1550 (Improve check: Assignment to self) 2010-03-31 Reijo Tomperi * cppcheck.cbp: Update codeblocks project file 2010-03-31 Reijo Tomperi * lib/filelister.cpp: Fix cross compiling in Linux Change: #include "fileLister_win32.h" -> #include "filelister_win32.h" 2010-03-31 Daniel Marjamäki * Makefile, tools/dmake.cpp: Makefile: Added flag -Wno-long-long compiler flag to suppress warnings about long long 2010-03-31 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testtokenize.cpp, test/testunusedvar.cpp: Fixed #1549 (false positive: uninitialized variable) 2010-03-31 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Unit testing: Added test case for memset. Ticket: #1538 2010-03-31 Robert Reif * lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, test/testdivision.cpp, test/testtokenize.cpp: Fixed #1492 (false negatives: array index out of bounds) 2010-03-31 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Better checking for assignment to self. Ticket: #1550 2010-03-30 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1539 (False positive: possible error Array index out of bounds) 2010-03-29 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1535 (False positive: member variable not initialized, struct with constructor) 2010-03-29 Robert Reif * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1536 (###### If you see this, there is a bug ###### Token::Match() - varid was 0) 2010-03-28 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1148 (improve check: usage of uninitialized variables) 2010-03-28 Daniel Marjamäki * : commit 62d2845014da62f3ae18c468a5a4e6076d288adb Author: Robert Reif Date: Sun Mar 28 15:56:13 2010 +0200 2010-03-28 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #1534 (False positive with #elif (defined NAME)) http://sourceforge.net/apps/trac/cppcheck/ticket/1534 2010-03-28 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Refactoring: Added CheckClass::isMemberFunc 2010-03-28 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1516 (C++Builder properties mistaken for uninitialized variables) 2010-03-28 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1533 (False positive: Uninitialized variable) 2010-03-27 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #1532 (hang due to commit 772aa95c8a) http://sourceforge.net/apps/trac/cppcheck/ticket/1532 2010-03-27 Reijo Tomperi * test/testclass.cpp: astyle fix 2010-03-27 Martin Ettl * lib/checkclass.cpp, test/testclass.cpp: extended The function can be const test 2010-03-27 Robert Reif * lib/tokenize.cpp, test/testbufferoverrun.cpp: Fixed #1523 (false negative:: buffer access out of bounds when using shift operator) 2010-03-26 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Partial fix for #1475 (False positive: Not enough parameters for macro: #define A(a, b...)) http://sourceforge.net/apps/trac/cppcheck/ticket/1475 2010-03-26 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1519 (false negative: the function can be declared as const) 2010-03-26 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/tokenize.cpp, test/testclass.cpp: Fixed #1525 (false negative: the function can be declared as const (member declared as mutable)) 2010-03-26 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1529 (false positive: function can be const (struct member variable)) 2010-03-26 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1496 (false positive: Member variable not initialized in the constructor 'X::m_d') 2010-03-26 Raphael Geissert * lib/checkother.cpp, test/testother.cpp: Fixed #1511 (false negative null pointer deref when dereferencing pointers to constants) 2010-03-26 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1522 (false positive: function can be const (assignment in return)) 2010-03-24 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp, test/testtokenize.cpp: Tokenizer: Simplify 'false ==' to '!' 2010-03-24 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1522 (false positive: function can be const (assignment in return)) 2010-03-24 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: Added TODO testcase when using variadic macros 2010-03-23 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1515 (false positive: The function 'wxThreadInternal::SetExitCode' can be const) 2010-03-23 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1517 (false negative: the function can be declared as const) 2010-03-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1504 (False positive: Cppcheck incorrectly reports that extern variable is not initialized) 2010-03-20 Daniel Marjamäki * lib/checkmemoryleak.cpp: Fixed #1386 and #1387 (False positives given by CheckMemoryLeakInFunction when temporary and member variable don't have the same allocation and deallocation) 2010-03-19 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1498 (false positive: The function 'V::vSet' can be const) 2010-03-19 Robert Reif * lib/tokenize.cpp, test/testclass.cpp: Tokenizer: remove unnamed anonymous structures and unions (#1493) 2010-03-19 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1491 (False positive when putting an access specifier at the end of a class declaration) 2010-03-19 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1428 (False positive: (possible error) Memory leak when memory deleted in destructor) 2010-03-19 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Here is a patch that adds support for derived structs and fixes a bug that missed some nested structs. (#1493) 2010-03-19 Raphael Geissert * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1512 (incorrect handling of ndefs in the preprocessor) 2010-03-19 Daniel Marjamäki * lib/checkother.h, lib/tokenize.cpp: astyle formatting 2010-03-18 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1508 (false positive : uninitialized variable) 2010-03-18 Daniel Marjamäki * lib/checkother.h: doxygen: some updates to the lib/checkother 2010-03-18 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Partial fix for #1493 (false positives: function can be const and struct or union member is never used) 2010-03-17 Daniel Marjamäki * lib/check.h, lib/checkautovariables.h, lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.h, lib/tokenize.cpp, lib/tokenize.h: doxygen updates 2010-03-17 Daniel Marjamäki * lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: unit testing: made Tokenizer functions public so they can be unit tested 2010-03-17 Daniel Marjamäki * test/testmemleak.cpp: unit testing: use const_cast instead of defines 2010-03-17 Daniel Marjamäki * doxyfile: doxygen: enabled the JAVADOC_AUTOBRIEF so the @brief isn't required 2010-03-17 Daniel Marjamäki * lib/checkmemoryleak.h: refactoring: no need to hide functions because the definition isn't seen by the core program anyway. 2010-03-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1506 (typedef name hiding check combined with forward declaration leeds to false positive) 2010-03-16 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1476 (false positive: Uninitialized variable) 2010-03-16 Daniel Marjamäki * lib/checkother.cpp, test/testunusedvar.cpp: Fixed #1501 (false positive: Variable 'n' is assigned a value that is never used) 2010-03-16 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1503 (False positive for uninitialized variable) 2010-03-16 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: small const fix 2010-03-15 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Use product name as start menu shortcut item name. 2010-03-15 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Move couple of strings to productInfo.wxi. 2010-03-14 Daniel Marjamäki * lib/checkother.h, lib/token.h: doxygen: Some comments for CheckOther, added @todo to Token::Match 2010-03-14 Daniel Marjamäki * lib/cppcheck.h, lib/filelister.h, lib/settings.h: doxygen: updated comments for Cppcheck and FileLister 2010-03-14 Daniel Marjamäki * gui/checkthread.h, gui/resultstree.h, gui/resultsview.h, gui/threadresult.h: doxygen: fixed warning messages 2010-03-14 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1494 (Improve Tokenizer::simplifyKnownVariables to handle for loops better) 2010-03-14 Daniel Marjamäki * doxyfile: doxygen: removed DETAILS_AT_TOP to get rid of warnings that it is deprecated 2010-03-14 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.h: doxygen: fixed error messages 2010-03-13 Daniel Marjamäki * lib/checkexceptionsafety.h, lib/checkmemoryleak.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.h, lib/token.h: doxygen: fixed warning messages 2010-03-13 Daniel Marjamäki * lib/errorlogger.h, lib/mathlib.h: doxygen: updated comments for ErrorLogger and Severity 2010-03-13 Daniel Marjamäki * lib/checkbufferoverrun.h, lib/checkclass.h, lib/checkdangerousfunctions.h, lib/checkmemoryleak.cpp, lib/checkother.cpp: doxygen: added more comments for CheckNullPointer and CheckUninitVar 2010-03-13 Daniel Marjamäki * lib/checkexceptionsafety.h, lib/checkmemoryleak.h: doxygen: added comments 2010-03-13 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1465 (false positive: unintialized class member) 2010-03-13 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1460 (false positive: memory leak when using throw no_memory) 2010-03-13 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1477 (false positive: Uninitialized variable when pointer given to struct) 2010-03-13 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1491 (False positive when putting an access specifier at the end of a class declaration) 2010-03-13 Daniel Marjamäki * tools/dmake.cpp: astyle formatting 2010-03-13 Daniel Marjamäki * Makefile, tools/dmake.cpp: gcc: removed -Wlogical-op that is not supported by old GCC 2010-03-13 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++: Updated project files 2010-03-12 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1482 (Improve check const-function: function can be made const when assignment not to member variable (false negative)) 2010-03-12 Kimmo Varis * lib/filelister_unix.cpp: Fix ignoring filelister_unix.cpp code in Windows. 2010-03-12 Kimmo Varis * test/test.vcproj, test/testfilelister.cpp: Fix compiling tests. 2010-03-12 Daniel Marjamäki * lib/filelister_win32.cpp: astyle formatting 2010-03-11 Kimmo Varis * tools/Makefile, tools/dmake.cpp: Restore and fix tools Makefile. Fix include lines. 2010-03-11 Kimmo Varis * tools/dmake.cpp, tools/dmake.vcproj: Fix dmake for Windows. 2010-03-01 Kimmo Varis * Makefile, lib/filelister_unix.cpp, lib/filelister_win32.cpp, lib/lib.pri, tools/Makefile, tools/dmake.cpp: Fix compiling in Linux. Fix compiling dmake. 2010-02-28 Kimmo Varis * lib/filelister.cpp, lib/filelister.h, lib/filelister_unix.cpp, lib/filelister_unix.h, lib/filelister_win32.cpp, lib/filelister_win32.h: Add Unix/Linux version of FileLister and do some cleanups. 2010-02-28 Kimmo Varis * lib/filelister.cpp, lib/filelister.h, lib/filelister_win32.cpp: Remove Win32 implementation from common file. 2010-03-11 Kimmo Varis * cli/cppcheck.vcproj, gui/mainwindow.cpp, lib/checkheaders.cpp, lib/cppcheck.cpp, lib/filelister.cpp, lib/filelister.h, lib/filelister_win32.cpp, lib/filelister_win32.h, lib/lib.pri, lib/preprocessor.cpp, lib/tokenize.cpp: Implement Win32 FileLister as separate class. Improve the system used to have separate versions of code of FileLister for Win32 and Linux. New idea is to have Base FileLister class implementing common code and then derived classes for Win32 and Linux specific code. FileLister is not anymore a static class. Instead we use singleton of derived class. 2010-03-10 Daniel Marjamäki * createrelease: Fixed #1489 (Makefile creates debug version) 2010-03-10 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1488 (Invalid warning about shadowed variable) 2010-03-10 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1486 (--errorlist shows two identical id values) 2010-03-09 Daniel Marjamäki * : commit 93f387cfffc20bd346bca77aad06ef4fe3ff69dd Author: Kimmo Varis Date: Tue Mar 9 20:26:16 2010 +0200 2010-03-09 Daniel Marjamäki * : commit ba7655ef0760375ecdca844dcd7691e834130980 Author: Kimmo Varis Date: Tue Mar 9 20:25:29 2010 +0200 2010-03-09 Kimmo Varis * : commit 4dd117db49143a2ded15c6588580fcdc26c05931 Author: Kimmo Varis Date: Tue Mar 9 17:37:39 2010 +0200 2010-03-09 Daniel Marjamäki * Changelog, createrelease: Changelog: Updated 2010-03-09 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, man/manual.docbook, win_installer/productInfo.wxi: updated version to 1.42 2010-03-09 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Add custom banner with Cppcheck icon. 2010-03-09 Kimmo Varis * : commit 04ff061bbb1c4d4d894196f9ebf52481d443a4ba Author: Daniel Marjamäki Date: Tue Mar 9 12:41:40 2010 +0100 2010-03-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp: checkbufferoverrun: Refactorings 2010-03-09 Daniel Marjamäki * Makefile, cli/cli.pro, tools/dmake.cpp: dmake,qmake: temporarily removed -Wsign-conversion 2010-03-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Revert "checkbufferoverrun: Fixed signedness compiler warnings" This reverts commit 3123de346cd959244315a687c7c8adc89ae46488. This commit caused failed tests 2010-03-09 Daniel Marjamäki * lib/checkbufferoverrun.cpp: checkbufferoverrun: Fixed signedness compiler warnings 2010-03-09 Daniel Marjamäki * createrelease: createrelease: set release mode for Makefile 2010-03-09 Daniel Marjamäki * Makefile: Makefile: updated by latest dmake 2010-03-09 Daniel Marjamäki * cli/cli.pro, tools/dmake.cpp: dmake, qmake: more sensitive compiler and runtime 2010-03-09 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: debug/release mode, more gcc warnings 2010-03-09 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Function constness: I don't think it's necessary to show both definition and implementation location. I changed so only the location of the definition is shown. This fixes #1486. 2010-03-08 Reijo Tomperi * lib/check.h: Fix #1485 (cppcheck.exe 1.41 crashes when calling with option --errorlist) http://sourceforge.net/apps/trac/cppcheck/ticket/1485 2010-03-08 Kimmo Varis * win_installer/cppcheck.wixproj, win_installer/readme.txt: Installer: Put installer to Build folder and temp files to BuildTmp. 2010-03-08 Kimmo Varis * win_installer/cli.wxs: Installer: remove unused file. 2010-03-07 Reijo Tomperi * AUTHORS: Robert Reif added to AUTHORS file 2010-03-07 Kimmo Varis * createrelease: Fix filepaths in release script. 2010-03-07 Daniel Marjamäki * createrelease: 1.41: Updated version in 'createrelease' script 2010-03-07 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, lib/cppcheck.cpp, win_installer/productInfo.wxi: 1.41: Set version in files 2010-03-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Simplify enum: Fixed segmentation fault if code ends with enum type id 2010-03-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1474 (segmentation fault of cppcheck) 2010-03-07 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1472 (false positive: Data is allocated but not initialized: service) 2010-03-06 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fix #1469 (False positive: Resource leak when fclose() is inside while) http://sourceforge.net/apps/trac/cppcheck/ticket/1469 2010-03-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1432 (false positive: uninitialized variable) 2010-03-06 Reijo Tomperi * lib/tokenize.cpp, test/testtokenize.cpp: Fix #1454 (False positive: arrayindexoutofbounds, static member sharing local name) http://sourceforge.net/apps/trac/cppcheck/ticket/1454 2010-03-05 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1321 (Improve check const-function: function that is not implemented inline can be made const) 2010-03-04 Kimmo Varis * tools/dmake.vcproj: Add VS project file for building dmake. 2010-03-04 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1466 (false positive: Invalid number of character ({) when these macros are defined: '') 2010-03-04 Daniel Marjamäki * lib/tokenize.cpp: simplify templates: show debug message when bailout out 2010-03-04 Daniel Marjamäki * lib/tokenize.cpp: SimplifyTemplates: some simple refactoring so template name is properly seen. If it's not properly handled then bailout. Related with #1464 2010-03-03 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Partial fix #1464 (takes too long (days) to process some files) Fix template functions that return "&T". http://sourceforge.net/apps/trac/cppcheck/ticket/1464 2010-03-03 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: don't warn about the suspicious string::find condition because it's not always a bug 2010-03-02 Reijo Tomperi * lib/tokenize.cpp: Add simple debug print to make it possible to detect cases where template simplification goes wrong. http://sourceforge.net/apps/trac/cppcheck/ticket/1464 2010-02-28 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Removed unused function renameMacroVariables 2010-02-28 Kimmo Varis * gui/translationhandler.cpp: Apply patch #1408 (gui build fails with Qt-4.4.3: QLocale) Add missing QLocale include. Patch by barsnick. 2010-02-28 Daniel Marjamäki * lib/checkstl.cpp: STL: refactorings 2010-02-28 Daniel Marjamäki * lib/preprocessor.cpp, lib/tokenize.cpp: cleanup: removed unused variables 2010-02-28 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp: null pointer: Fixed better error message for 'possible null pointer' + removed redundant check in our Tokenizer. 2010-02-28 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: suspicious condition when using std::find 2010-02-28 Daniel Marjamäki * lib/checkstl.cpp: STL if find: check given severity 2010-02-27 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1453 (possible infinite loop processing GNU Go's engine/montecarlo.c) http://sourceforge.net/apps/trac/cppcheck/ticket/1453 2010-02-27 Daniel Marjamäki * test/teststl.cpp: STL: suspicious conditions when using find. Added ok testcases and assert that no error message is written 2010-02-27 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: suspicious condition when using find on strings and containers 2010-02-27 Kimmo Varis * win_installer/config.wxi: Installer: Fix path to gui executable. 2010-02-27 Kimmo Varis * gui/gui.pro: GUI: Remove tabs from project file. 2010-02-27 Kimmo Varis * gui/gui.pro: GUI: Build to similar folders than cli in Windows. This makes it easier to handle build files and manage installer. 2010-02-27 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1439 (false positive: memory leak when using realloc) 2010-02-27 Daniel Marjamäki * lib/preprocessor.cpp, lib/tokenize.cpp: Refactoring error messages 2010-02-27 Kimmo Varis * cli/cppcheck.vcproj: Resource compiler still got unnecessary precompiler defines. 2010-02-27 Kimmo Varis * win_installer/config.wxi: Installer: Fix cli executable path. 2010-02-27 Kimmo Varis * cli/cppcheck.vcproj, test/test.vcproj: Move build products to Build and BuildTmp folders. This avoids polluting source folders with created/temp files. Also makes it easier for installer to pick files from consistently named folders. 2010-02-27 Kimmo Varis * cli/cppcheck.vcproj, test/test.vcproj: Projfiles: Fix preprocessor definitions. 2010-02-27 Kimmo Varis * test/test.vcproj: Projfiles: fix test project include paths. 2010-02-27 Kimmo Varis * cli/cppcheck.vcproj: Projfiles: Fix include paths - remove unneeded paths. 2010-02-27 Kimmo Varis * cli/cppcheck.vcproj, test/test.vcproj: Projfiles: Use $IntDir and $OutDir as paths where applicable. Try to also keep outdir clean of unnecessary files and direct most of build- time files to intdir. 2010-02-27 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #1448 (Trying to check Unicode file prints confusing error) 2010-02-27 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-26 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1397 (false positive: Memory leak in while loop) 2010-02-26 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #1455 (Preprocessor: Wrong line number in "No pair for character" error) http://sourceforge.net/apps/trac/cppcheck/ticket/1455 2010-02-26 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1456 (PATCH: Variable hides typedef with same name false positive) 2010-02-26 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1457 (PATCH: Variable hides enumerator with same name false negative) 2010-02-26 Kimmo Varis * lib/cppcheck.cpp: Fix comment. 2010-02-25 Reijo Tomperi * test/testother.cpp: Add TODO test case for #1444 (inline suppression suppress all errors of the same type in a function) http://sourceforge.net/apps/trac/cppcheck/ticket/1444 2010-02-25 Reijo Tomperi * test/testtokenize.cpp: Add TODO test cases for #1454 (False positive: arrayindexoutofbounds, static member sharing local name) http://sourceforge.net/apps/trac/cppcheck/ticket/1454 2010-02-25 Reijo Tomperi * test/testtokenize.cpp: Cleanup test/testtokenize.cpp a bit by putting duplicate code into a function. 2010-02-25 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1452 (Simplify goto better) 2010-02-25 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1451 (false positive: operator = should return reference to self) 2010-02-25 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1445 (segfault in Tokenizer::simplifyRedundantParanthesis()) 2010-02-24 Reijo Tomperi * test/testsimplifytokens.cpp, tools/dmake.cpp: Add TODO test case for #1452 (Simplify goto better) http://sourceforge.net/apps/trac/cppcheck/ticket/1452 2010-02-24 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1449 (segmentation fault of cppcheck) 2010-02-23 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1434 (### Internal error in Cppcheck. Please report it.) 2010-02-23 Daniel Marjamäki * : commit 5254822bedb2d18341542fc1947dd2768fbbf068 Author: Daniel Marjamäki Date: Tue Feb 23 21:27:01 2010 +0100 2010-02-23 Reijo Tomperi * lib/preprocessor.cpp: Attempt to fix: #1425: -I doesn't work properly in Windows http://sourceforge.net/apps/trac/cppcheck/ticket/1425 2010-02-23 Daniel Marjamäki * cli/CMakeLists.txt, test/CMakeLists.txt: removed some more cmake files 2010-02-23 Daniel Marjamäki * tools/Makefile: tools/Makefile: fixed so the dmake can be built 2010-02-23 Daniel Marjamäki * Makefile: Makefile: Readded old Makefile again 2010-02-23 Daniel Marjamäki * tools/dmake.cpp: Readded man/install to the Makefile 2010-02-23 Daniel Marjamäki * readme.txt: readme: removed cmake/scons 2010-02-23 Daniel Marjamäki * : commit 8e58cfcd3229b4dca94795f9215bea3a76be5c7d Author: Daniel Marjamäki Date: Tue Feb 23 18:14:33 2010 +0100 2010-02-23 Kimmo Varis * gui/mainwindow.cpp: Fix GUI compile error on Linux. 2010-02-23 Kimmo Varis * gui/CMakeLists.txt: Add htmlhelp lib to GUI's CMake file. 2010-02-23 Kimmo Varis * win_installer/cppcheck.wxs: Update MSI installer to install HtmlHelp manual. 2010-02-23 Kimmo Varis * gui/mainwindow.h: Remove some excessive empty lines. 2010-02-23 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_nl.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: Update translation files. 2010-02-23 Kimmo Varis * gui/gui.pro, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: Open HTML help from Help-menu in Windows. 2010-02-23 Kimmo Varis * gui/mainwindow.cpp: Remove some excessive empty lines. 2010-02-22 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1442 (false positive: getting offset instead of dereferencing a null pointer) 2010-02-21 Kimmo Varis * readme.txt: Fix mixed EOL styles in readme.txt. Use LF for now. 2010-02-21 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, test/testbufferoverrun.cpp, test/testclass.cpp: Fixed #1409 (False positive: Buffer access out-of-bounds with strncpy and an array in typedef'ed struct) 2010-02-21 Daniel Marjamäki * readme.txt: readme: removed 'dmake' information 2010-02-21 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1426 (false positive: returning LPVOID can be const) 2010-02-21 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fixed #1396 (false positive: Resource leak) 2010-02-21 Daniel Marjamäki * lib/checkother.cpp: Fixed #1430 (void foo(int nb)) 2010-02-21 Daniel Marjamäki * lib/checkother.cpp: Refactored the CheckOther::functionVariableUsage 2010-02-20 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Tokenizer: simple simplification of array sizes 2010-02-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1395 (false positive: Possible null pointer dereference) 2010-02-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1424 (false positive: unintialized variable) 2010-02-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1422 (false positive: uninitialized variable) 2010-02-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1407 (false positive memory leak when returning pointer to the allocated memory) 2010-02-20 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1403 (false positive: The function can be const) 2010-02-20 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1402 (false positive: uninitialized variable) 2010-02-20 Daniel Marjamäki * tools/dmake.cpp: astyle formatting 2010-02-20 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1427 (new check: check for typedef name hiding) 2010-02-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/tokenize.cpp: Borland C++: Fixed compiler errors (operands must be same type) 2010-02-19 Reijo Tomperi * SConstruct: SConstruct, fix compiling on systems where qt4 is not installed 2010-02-19 Reijo Tomperi * SConstruct: Add: 'scons ccwin32' - Cross compile win32 (cli) in Linux 2010-02-19 Daniel Marjamäki * tools/dmake.cpp: dmake: simplified a little 2010-02-19 Daniel Marjamäki * readme.txt: updated readme.txt 2010-02-19 Reijo Tomperi * SConstruct: SConstruct updated, help target added. Use 'scons -h' to see help 2010-02-19 Reijo Tomperi * SConstruct: SConstruct update: Add coverage-target and add more gcc compiler flags 2010-02-19 Daniel Marjamäki * lib/mathlib.cpp: Refactoring: Using string::compare instead of strncmp 2010-02-19 Daniel Marjamäki * gui/test.cpp, test/test.cxx: renamed gui/test.cpp to test/test.cxx 2010-02-18 Reijo Tomperi * SConstruct, qt4.py: Add SConstruct and qt4.py for alternative build system 2010-02-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp: Refactoring CheckBufferOverrun. Use std::string instead of const char * 2010-02-18 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testunusedvar.cpp: astyle formatting 2010-02-18 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp, test/testunusedvar.cpp: readded checks for unused variables and unreachable code that were removed in 42c608b6f085693f9bc80bf9be9a3570f0a5bf87 2010-02-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1411 (### Internal error in Cppcheck. Please report it.) 2010-02-17 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1405 (false positive: operator = should return reference t 2010-02-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1405 (false positive: operator = should return reference to itself) 2010-02-17 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1389 (false positive: uninitialized variable) 2010-02-16 Moritz Barsnick * gui/main.ui: Fixed #1334 (gui build fails) 2010-02-16 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1388 (enum token/template parameter confusion - False positive) 2010-02-15 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1392 (Segfault in CheckBufferOverrun::checkScope) http://sourceforge.net/apps/trac/cppcheck/ticket/1392 2010-02-14 Monika Lukow * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1333 (Detect access out of bounds 'for (i = 100; i > 0; --i) a[i] = 0;') 2010-02-14 Reijo Tomperi * lib/preprocessor.cpp: Remove unnecessary file open. 2010-02-14 Reijo Tomperi * lib/checkbufferoverrun.cpp, lib/checkclass.h: astyle fix 2010-02-14 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkheaders.cpp, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkunusedfunctions.cpp, lib/filelister.cpp, lib/filelister.h, lib/settings.cpp, lib/settings.h, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h: Refactoring: Use std::string instead of const char * 2010-02-14 Daniel Marjamäki * cli/CMakeLists.txt: Output the cppcheck program in the base folder 2010-02-14 Daniel Marjamäki * Makefile: Removed old Makefile - we'll use CMake from now on 2010-02-12 Reijo Tomperi * lib/token.cpp, lib/token.h: Added %name% pattern to Token. Currenly same as %var%, but in the future %var% is supposed to match only tokens that have varid != 0. 2010-02-12 Reijo Tomperi * lib/tokenize.h: Fix operator= warning from our own code. 2010-02-12 Reijo Tomperi * lib/checkother.cpp, lib/tokenize.cpp, test/testdivision.cpp: Fix #1385 (False positive: unsigned division) http://sourceforge.net/apps/trac/cppcheck/ticket/1385 This also fixes a bug in setVarId(). "unsigned int a" didn't get varid, untill later when unsigned was simplified away. 2010-02-12 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1382 (False positive: uninitialized variable when using assembly to initialize variable) 2010-02-10 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1340 (False positive: Array out of bounds for re-initialised array pointer) http://sourceforge.net/apps/trac/cppcheck/ticket/1340 2010-02-10 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1376 (Member variable not initialized in the constructor false positive) 2010-02-09 Reijo Tomperi * lib/filelister.cpp, lib/preprocessor.cpp, test/testfilelister.cpp: Possibly fix #1369 (Internal error - double-declared enum followed by another enum) http://sourceforge.net/apps/trac/cppcheck/ticket/1369 Don't include same file twice if one is a/a.h and other is a/../a/a.h 2010-02-09 Daniel Marjamäki * test/teststl.cpp: Fixed #1373 (###### If you see this, there is a bug ######) 2010-02-09 Reijo Tomperi * lib/tokenize.cpp, test/testtokenize.cpp: Fix #1366 (void Tokenizer::simplifyTemplates() --> Abort) http://sourceforge.net/apps/trac/cppcheck/ticket/1366 2010-02-08 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #1364 (False positive: (error) Possible null pointer dereference) 2010-02-08 Daniel Marjamäki * lib/executionpath.cpp: Fixed #1360 (false positive:: uninitialized class member of nested class inside a function) 2010-02-08 Reijo Tomperi * test/testother.cpp: astyle fix 2010-02-08 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1344 (false negative: missing const not found) 2010-02-07 Monika Lukow * lib/checkother.cpp, test/testother.cpp: Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str') 2010-02-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1361 (### Internal error in Cppcheck. Please report it) 2010-02-07 Daniel Marjamäki * lib/checkclass.cpp, lib/token.cpp, lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1356 (Double-False positive: uninitialized variable) 2010-02-07 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed bug in setVarId. functions should never have a variable id 2010-02-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1362 (Internal error when using ?-operator and nested {}) 2010-02-06 Daniel Marjamäki * lib/tokenize.cpp: astyle formatting 2010-02-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1346 (False positive: Memory leak when allocated memory is stored elsewhere inside a condition) 2010-02-06 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1363 (false positive: memory leak) 2010-02-06 Daniel Marjamäki * lib/cppcheck.cpp: Fixed #824 (Exit code of cppcheck) 2010-02-06 Daniel Marjamäki * lib/checkstl.cpp: fixed null pointer dereference when using --errorlist 2010-02-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1352 (false positive: uninitialized variable) 2010-02-06 Daniel Marjamäki * lib/checkstl.cpp: Borland C++: Fixed compiler error. When using 'a?b:c', Borland C++ requires that 'b' and 'c' has the same types 2010-02-06 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1355 (Fixed enum bug when expression contain comma) 2010-02-06 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Partial fix for #322 (get configurations from headers that don't start at the beginning of the file) 2010-02-06 Reijo Tomperi * test/testtokenize.cpp: Minor fix to previous commit 2010-02-06 Reijo Tomperi * test/testtokenize.cpp: Test case for #1356 (Double-False positive: uninitialized variable) 2010-02-05 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1358 (False negative: out-of-bounds not found near return) http://sourceforge.net/apps/trac/cppcheck/ticket/1358 2010-02-05 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #984 (improve output if strncpy is followed by strncat) 2010-02-05 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1351 (add expression support to simplifyEnum) 2010-02-04 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: CheckClass::noMemset: Refactoring so it handles more complex std template types 2010-02-04 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Class checking: Minor refactoring when analysing memset on class 2010-02-04 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1287 (Use of memset on struct - std template types not handled) 2010-02-03 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1337 (Division by zero with __alignof__()) 2010-02-03 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1345 (Not initialised variables warning missing in classes with dllexport) 2010-02-03 Daniel Marjamäki * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed #1342 (Superclass constructors in initializer lists are considered unused functions when superclass has a namespace.) 2010-02-03 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1343 (simplifyTypedef doesn't support deeply nested classes) 2010-02-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1341 (false positive 'uninitialized variable' when using Exception specifications) 2010-02-01 Kimmo Varis * man/CMakeLists.txt: CMake - build htmlhelp manual in Cygwin. I want to build htmlhelp manual for Windows with Cygwin. This is the easiest way to create "native" manual for Windows users. 2010-02-01 Kimmo Varis * man/CMakeLists.txt: CMake - build HTML manual in Cygwin. Latest update to Cygwin made possible to build HTML manual also in the Cygwin. Requires latest version 4.5 of DocBook XML. 2010-02-01 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1339 (add nested struct support to simplifyEnum and simplifyTypedef) 2010-02-01 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Reverted 4f30468c80e954c8f91e95052d777caf31a01e58. There was false positives such as #1335 so please fix them and then re-commit. 2010-02-01 Kimmo Varis * gui/checkthread.cpp: GUI part of ticket #1068 (GUI: stop or quit when processing a large file). 2010-02-01 Kimmo Varis * test/CMakeLists.txt: CMake - fix building tests for Visual Studio. Need to include lib sources directly to test project also. 2010-01-31 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1338 (simplify typedefs with global and nested namespace) 2010-01-31 Reijo Tomperi * test/testbufferoverrun.cpp: Added test case for #1333 (Detect access out of bounds 'for (i = 100; i > 0; --i) a[i] = 0;') http://sourceforge.net/apps/trac/cppcheck/ticket/1333 2010-01-31 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1004 (improve check: Unintialized variable not detected when using a reference (&)) 2010-01-31 Monika Lukow * : commit 25822dff2462d00e7293fbc0793b8e3994acb1a4 Author: Monika Lukow Date: Sun Jan 31 11:44:30 2010 +0100 2010-01-31 Monika Lukow * lib/checkbufferoverrun.cpp: Fixed #1274 (false positive: Dangerous usage of strncat) 2010-01-31 Monika Lukow * lib/checkother.cpp, test/testother.cpp: Fixed #1094 (Improve check: unusual pointer arithmetic: 'ch+str') 2010-01-31 Kimmo Varis * CMakeLists.txt, cli/CMakeLists.txt, gui/CMakeLists.txt: Make workaround fix for ticket #1299. Since lib does not work when built as an static library, compile lib code as part of cli/gui code. 2010-01-31 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: remove redundant assignments and variables 2010-01-31 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: Remove redundant assignments and variables 2010-01-31 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: remove the keyword 'inline' 2010-01-31 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: fix for multiple array definitions for a single typedef 2010-01-31 Robert Reif * lib/tokenize.cpp: Fixed #1326 (remove simplified enum definitions) 2010-01-30 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1331 (simplify typedef of complex arrays) 2010-01-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Null pointer dereference: sending to output stream 2010-01-30 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: improved the simplifyInitVar 2010-01-30 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #1005 (improve check: nullpointer dereference not found when it is initialized with NULL-cast) 2010-01-30 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed 1329 (simplify typedef of function pointer returning template) 2010-01-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1327 (False positive: Redundant code: Found a statement that begins with numeric constant) 2010-01-29 Reijo Tomperi * lib/checkclass.cpp: Remove debug print 2010-01-29 Reijo Tomperi * cppcheck.cbp, lib/checkclass.cpp, lib/checkmemoryleak.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Improved updateClassList(), but not yet took it into use. findClassFunction is now non-static. updateClassList usage is currently commented out as it doesn't handle class inside a function 2010-01-29 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1319 (false negative: missing const not found) 2010-01-29 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed const simplification 2010-01-29 Robert Reif * test/testsuite.cpp, test/testsuite.h: Fixed #1324 (show number of tests that don't produce the desired results) 2010-01-29 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1323 (segfault with style in CheckClass::operatorEqRetRefThis()) 2010-01-29 Robert Reif * lib/preprocessor.cpp, lib/tokenize.cpp: Fixed #1325 (Segmentation fault in simplifyTypedef due to bad preprocessing) 2010-01-29 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1326 (remove simplified enum definitions) 2010-01-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1286 (Memory leak not detected) 2010-01-27 Daniel Marjamäki * lib/cppcheck.cpp: killerbot: Fixed #1314 (specify the files to check in 1 input file) 2010-01-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1315 (mismatched allocation and deallocaton not detected) 2010-01-27 Daniel Marjamäki * lib/checkclass.h, lib/checkstl.h: updated --doc output about new checks in 1.40 2010-01-27 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: Auto variables: Improved handling of temporaries 2010-01-27 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1316 (### Internal error in Cppcheck. Please report it.) 2010-01-26 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: Auto variables: returning pointer to temporary .c_str() data 2010-01-26 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1302 (False positive: Confusion between POSIX open() and class member) 2010-01-26 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1278 (Confusing style message formatting) 2010-01-26 Kimmo Varis * CMakeLists.txt, gui/CMakeLists.txt: CMake - Build GUI also in Cygwin if QT4 is found. 2010-01-25 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1312 (false positive: missing const message on functions returning references) 2010-01-25 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1313 (unnamed enums not simplified properly) 2010-01-24 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1307 (Internal error with typedef in parameter list) 2010-01-24 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: some refactorings and minor improvements 2010-01-24 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1238 (False Negative : memory leak with template class) 2010-01-24 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed Tokenizer::simplifyKnownVariable bug when the variable is re-assigned in a loop 2010-01-24 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1308 (False positive: The function 'x' can be const for a static member function) 2010-01-24 Daniel Marjamäki * test/testother.cpp: TestOther::uninitvar1: refactoring. splitting up this function into multiple functions 2010-01-24 Daniel Marjamäki * lib/checkclass.cpp: const class functions: refactorings 2010-01-24 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: const: fixed false positive when using increment/decrement 2010-01-23 Reijo Tomperi * lib/preprocessor.cpp, lib/tokenize.cpp, lib/tokenize.h: Fix some style errors found from our own code. 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: CheckClass: The operator< etc member functions can often be const 2010-01-23 Reijo Tomperi * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h, test/teststl.cpp, test/testtokenize.cpp: Fix #1279 (Change error message: Invalid number of character ({). Can't process file.) http://sourceforge.net/apps/trac/cppcheck/ticket/1279 2010-01-23 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: fixed false positive when using erase 2010-01-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1301 (False positive: Data is allocated but not initialized) 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1305 (False positive: The function 'x' can be const when indirectly calling a non-const member) 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1304 (False positive: The function 'x' can be const when modifing a member) 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1303 (False positive: The function 'x' can be const for a constructor) 2010-01-23 Daniel Marjamäki * lib/checkautovariables.cpp, lib/checkautovariables.h, test/testautovariables.cpp: New Check: Detect return of invalid reference 2010-01-23 Duraffort * gui/CMakeLists.txt: Do not build the gui if Qt4 headers are not present. 2010-01-23 Daniel Marjamäki * Makefile, tools/dmake.cpp: Revert "removed tools/dmake and Makefile. Please use cmake from now on." This reverts commit cfacd5fe1014d3fac2cf617f9f9a32ad5c92f561. 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: only run CheckClass::checkConst if style checking is on 2010-01-23 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Partial fix for #13 - detect simple cases of member functions that can be const 2010-01-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: detect when function pointer that is null is used 2010-01-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Report when using uninitialized function pointer 2010-01-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Function pointers: re-enabled the simplifyFunctionPointers 2010-01-22 Daniel Marjamäki * Makefile, tools/dmake.cpp: removed tools/dmake and Makefile. Please use cmake from now on. 2010-01-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1298 ((error) ### Internal error in Cppcheck. Please report it. (typedef in fun proto)) 2010-01-22 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1276 (False Uninitialized variable when using goto) 2010-01-22 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, lib/checkstl.h: doxygen and minor refactorings 2010-01-22 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #643 (Member variable not initialized not detected if any unknown function called) 2010-01-22 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1297 (typedef causes internal error in vlc/modules/access/imem.c) 2010-01-21 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1290 (1.40: Internal error) 2010-01-21 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1273 (scope of variable limited not detected in latest versions) 2010-01-21 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: This patch simplifies the function pointer return type code and allows more complex return types. 2010-01-21 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Improved typedef simplification of function pointers 2010-01-20 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1293 (Things to add to call_func_white_list) 2010-01-20 Daniel Marjamäki * : commit 96359b14ffb8580939a91e57bdc4e4e74b71ee51 Author: Daniel Marjamäki Date: Wed Jan 20 21:19:06 2010 +0100 2010-01-20 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Handle/simplify function pointer typedefs 2010-01-20 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #1296 (false positive: index out of bounds) http://sourceforge.net/apps/trac/cppcheck/ticket/1296 2010-01-19 Reijo Tomperi * cppcheck.cbp: Updated cppcheck.cbp project file. Fixes #1292 (cppcheck.cbp needs an update (V1.40)) http://sourceforge.net/apps/trac/cppcheck/ticket/1292 2010-01-19 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1282 (False positive for a memory leak in a simple loop) 2010-01-18 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: CheckMemoryLeak: Added 'scanf' and 'sscanf' to the whitelist 2010-01-18 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1266 ('qsort' missing in call_func_white_list) 2010-01-18 Daniel Marjamäki * lib/cppcheck.cpp, lib/cppcheck.h, lib/settings.cpp, lib/settings.h: Added Cppcheck::terminate function that will terminate the checking ASAP 2010-01-18 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1251 (tokenize typedef of reference) 2010-01-17 Kimmo Varis * win_installer/config.wxi, win_installer/cppcheck.wxs: Installer: Add config variable for pdf manual path. 2010-01-17 Kimmo Varis * : commit 2581c9fa9fc8974ccd150f3a4b05e89d592b6bff Author: Kimmo Varis Date: Sun Jan 17 20:41:26 2010 +0200 2010-01-17 Kimmo Varis * win_installer/readme.txt, win_installer/readme_InnoSetup.txt: Installer: Create short documentation for WiX installer. 2010-01-17 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Path variable for gui.exe was missing in one place. 2010-01-17 Kimmo Varis * win_installer/config.wxi, win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Move installer configuration to new file. 2010-01-17 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1262 (cppcheck false positives: 'Possible null pointer dereference', 'Uninitialized variable') 2010-01-17 Daniel Marjamäki * lib/tokenize.h: Fixed doxygen error messages 2010-01-17 Daniel Marjamäki * lib/checkautovariables.h, lib/checkclass.h, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.h, lib/checkother.h, lib/checkstl.h: Reformatting the --doc output to work better in the wiki 2010-01-17 Daniel Marjamäki * man/manual.docbook: manual: updated version to 1.40 2010-01-17 Daniel Marjamäki * Changelog: updated Changelog 2010-01-17 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, createrelease, lib/cppcheck.cpp, win_installer/productInfo.wxi: Updated version to 1.40 2010-01-17 Daniel Marjamäki * test/testsimplifytokens.cpp: Added TODO test for better pointer aliasing with memset 2010-01-17 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1275 (Cppcheck hangs when analysing the code 'typedef struct { } A, *B, **C;') 2010-01-17 Kimmo Varis * : commit 97eb380bba8deeb480d035e606157d610db98379 Author: Kimmo Varis Date: Sun Jan 17 01:21:45 2010 +0200 2010-01-17 Kimmo Varis * win_installer/cppcheck.wxs: Installer: Update package version to 300 to use latest installer version. 2010-01-17 Kimmo Varis * win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Add variable for Qt dll location. 2010-01-17 Kimmo Varis * win_installer/cppcheck.wixproj, win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Install MS CRT runtimes. Add VS2008 CRT merge module to the installer. This is the correct way to install MS runtimes. 2010-01-17 Kimmo Varis * win_installer/cli.wxs, win_installer/cppcheck.wixproj, win_installer/cppcheck.wxs, win_installer/productInfo.wxi: Installer: Add project file. Project file allows building installer with msbuild. Add config variables for binaries directories to avoid copying binaries to installer directory. 2010-01-16 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1272 (links in typedef not handled correctly) 2010-01-16 Daniel Marjamäki * : commit 0a8ca1f160bf635f63e4e7d936a65fac995af779 Author: Daniel Marjamäki Date: Sat Jan 16 13:56:57 2010 +0100 2010-01-16 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Refactoring the handling of typedefs 2010-01-16 Daniel Marjamäki * cppcheck.cbproj, lib/checkclass.cpp, lib/checkclass.h: Revert "minor tweak in Borland C++ project file" This reverts commit ad06ee4f71698fcd67d2d42d27c8117ff1ecc234. 2010-01-16 Daniel Marjamäki * cppcheck.cbproj, lib/checkclass.cpp, lib/checkclass.h: minor tweak in Borland C++ project file 2010-01-15 Reijo Tomperi * lib/tokenize.cpp, test/testtokenize.cpp: Fix part of #1262 (cppcheck false positives: 'Possible null pointer dereference' http://sourceforge.net/apps/trac/cppcheck/ticket/1262 2010-01-14 Daniel Marjamäki * lib/preprocessor.cpp: refactoring 2010-01-14 Daniel Marjamäki * lib/filelister.cpp, lib/preprocessor.cpp: astyle formatting 2010-01-14 Daniel Marjamäki * cli/threadexecutor.cpp, cli/threadexecutor.h: lanurmi: Fixed threads handling when using Sun compiler 2010-01-14 Daniel Marjamäki * lib/filelister.cpp, lib/filelister.h, lib/preprocessor.cpp: lanurmi: Fixed #1269 (Changes required for compiling with Sun's compiler) 2010-01-14 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1264 (False positive: Resource leak with if-else in while) 2010-01-14 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1268 (Null pointer dereference false positive) 2010-01-14 Henrik Nilsson * htmlreport/cppcheck-htmlreport: cppcheck-htmlreport now takes a parameter for source code encoding to support non ascii characters. Also present a nicer error message if highlighting fail for a file. 2010-01-13 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h: wrote comments about the preprocessor 2010-01-13 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1265 ((error) Uninitialized variable on macro expansion) 2010-01-13 Henrik Nilsson * htmlreport/cppcheck-htmlreport: cppcheck-htmlreport now takes a --title parameter that will be displayed on top of every page. 2010-01-13 Henrik Nilsson * htmlreport/cppcheck-htmlreport: Added !DOCTYPE declaration for html generated by the cppcheck-htmlreport tool. 2010-01-13 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: fixed typedef issues 2010-01-12 Daniel Marjamäki * lib/checkother.cpp: Uninitialized variables: disable subfunction analysis if multiple threads are used 2010-01-12 Daniel Marjamäki * lib/checkmemoryleak.cpp: CheckMemoryLeaks: Added 'strlen' to white list 2010-01-12 Daniel Marjamäki * lib/checkmemoryleak.cpp: Fixed #1258 ('fscanf' missing in call_func_white_list) 2010-01-12 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1259 (false postive: Member variable 'A::b' is not assigned a value in 'A::operator=') 2010-01-12 Henrik Nilsson * htmlreport/cppcheck-htmlreport: cppcheck-htmlreport now annotates the highlighted source code with the cppcheck error message. 2010-01-12 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Tokenizer: some cleanup of std:: 2010-01-12 Henrik Nilsson * htmlreport/cppcheck-htmlreport: Fixed some markup errors in generated html from the cppcheck-htmlreport script. 2010-01-12 Reijo Tomperi * test/testtoken.cpp: Get rid of casting in test file. http://sourceforge.net/apps/trac/cppcheck/ticket/1242 2010-01-12 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1070 (Improve scope error message) 2010-01-12 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1257 (potential leaks not reported becauseof 'continue' in loop) 2010-01-12 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1252 (Internal error in Cppcheck while parsing struct) 2010-01-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1250 (tokenize typedef of union) 2010-01-11 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1174 (improve check: Unintialized variable not detected in subfunction) 2010-01-11 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp: BufferOverrun: negative index is out of bounds 2010-01-11 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: fixed false positives when using pointer aliasing 2010-01-11 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1248 (tokenize typedef of array) 2010-01-10 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: ExecutionPath: better handling of for/while/do/switch, it doesn't bail out everything 2010-01-10 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1225 (false negative :: uninitialized variable not detected when using enums) 2010-01-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: fixed unlogged errors from the tokenizer and also some errors reported by valgrind 2010-01-10 Daniel Marjamäki * test/testtoken.cpp: ivoire: 64-bit portability fix 2010-01-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: better handling of loops and switch 2010-01-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1220 (False memory leak when using while) 2010-01-10 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Better handling of switch 2010-01-10 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1218 (Improve check: incrementing uninitialized variable i++) 2010-01-10 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1244 (tokenize typedef of unnamed struct) 2010-01-09 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1189 (false negative: using uninitialized variable i 'a[i] = 0;') 2010-01-09 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1231 (Preprocessor: Fail to evaluate '#if ! defined _ABCD_') 2010-01-09 Kimmo Varis * build.bat: Add "all" target for build.bat. 2010-01-09 Kimmo Varis * build.bat: Make release the default target in build.bat. 2010-01-09 Kimmo Varis * build.bat: Allow building both debug and release targets using build.bat. 2010-01-09 Kimmo Varis * build.bat: Improve build.bat to support building from QT prompt. 2010-01-09 Kimmo Varis * build.bat: Fix build.bat after directory renames. 2010-01-09 Kimmo Varis * win_installer/build2.bat: Update build2.bat to point to latest Qt SDK. 2010-01-09 Daniel Marjamäki * lib/tokenize.cpp: Borland C++: Fixed compiler error 2010-01-08 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: fixed segmentation fault 2010-01-08 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1237 (Uninitialized variable false positive for return-value pattern in pan source code.) 2010-01-08 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1233 (false positive: operator = should check for assignment to self) 2010-01-07 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1235 (CheckMemoryLeakInFunction: Wrong handling of 'fcloseall') 2010-01-07 Kimmo Varis * win_installer/build1.bat: Update batch file for latest Qt SDK location. 2010-01-07 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1232 (segmentation fault of cppcheck when scanning templates) 2010-01-06 Daniel Marjamäki * lib/tokenize.cpp: After suggestion from Jim Vollner, remove dead pointers from the used list 2010-01-06 Daniel Marjamäki * lib/token.cpp, lib/tokenize.cpp: uncomment validation of Tokenizer::_tokensBack 2010-01-06 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkmemoryleak.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testbufferoverrun.cpp, test/testsimplifytokens.cpp, test/testtoken.cpp: Ticket #1228 : Handle tokensBack in the Token class. When adding&removing tokens the Token class can make sure that this pointer is updated accordingly. It is very important that the tokensBack has the same scope as the token list, otherwise there will be a dead pointer problem. 2010-01-06 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1221 ([False positive] Member variable not initialized with operator[] gives wrong result) 2010-01-06 Kimmo Varis * CMake/xmlto.cmake, CMakeLists.txt, man/CMakeLists.txt: CMake - build Docbook manual in Linux. Add XMLTO macro to build Docbook manual using xmlto program. xmlto is not available in Windows so limit building to Linux. Adds new target "html" to build which is not run automatically. 2010-01-06 Kimmo Varis * gui/mainwindow.cpp: Fixed #1229 (GUI: project file not read when checking a file) 2010-01-06 Kimmo Varis * gui/mainwindow.cpp: Fixed #1226 (GUI: project include file relative path search problem) Thanks for Robert Reif for finding and reporting problem in previous commit. 2010-01-06 Kimmo Varis * : commit 5bb3c5898bf87a5aed5e3f775daf7c70fe9fe20c Author: Kimmo Varis Date: Wed Jan 6 01:40:26 2010 +0200 2010-01-06 Reijo Tomperi * lib/tokenize.cpp: Added more validating code to tokenizer. Currently commented out. 2010-01-06 Kimmo Varis * gui/gui.cppcheck: Add lib directory to gui "project file" include. 2010-01-05 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1224 (segmentation fault of cppcheck) 2010-01-05 Kimmo Varis * test/CMakeLists.txt: CMake - Include test project's header file to VS IDE project. 2010-01-05 Kimmo Varis * CMakeLists.txt: CMake - Include test project when creating VS IDE project. 2010-01-04 Robert Reif * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #1215 (are enums processed properly?) 2010-01-03 Kimmo Varis * cli/CMakeLists.txt: CMake - add header files to CLI project and VS project. 2010-01-03 Kimmo Varis * lib/CMakeLists.txt: CMake - add header files to lib project (and to VS project). 2010-01-03 Kimmo Varis * gui/CMakeLists.txt: CMake - Create folders for GUI files in Visual Studio IDE. 2010-01-03 Kimmo Varis * : commit b483221f4534938ef1849d6eefa5b28c4924c952 Author: Kimmo Varis Date: Sun Jan 3 19:50:04 2010 +0200 2010-01-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1023 (improve check: Unintialized variable not detected when using +=) 2010-01-03 Daniel Marjamäki * test/testbufferoverrun.cpp: refactoring 2010-01-03 Daniel Marjamäki * test/testbufferoverrun.cpp: added test case for #1193 (false negative: array out of bounds in loop when there is calculation) 2010-01-03 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1216 (false positive: uninitialized variable when using exit|abort) 2010-01-03 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.cpp, test/testother.cpp: Fixed #440 (NULL referencing not detected) 2010-01-03 Daniel Marjamäki * gui/mainwindow.cpp: Fixed #1187 (GUI: fix project file loading) 2010-01-03 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1184 (improve test: operator =) 2010-01-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1214 (false positive: uninitialized variable 'bool fixed = std::ios_base::fixed;') 2010-01-02 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1203 (Preprocessor: Doesn't handle macros usage that contain ';') 2010-01-02 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1209 (False positive: uninitialized variable c when it is initialized with 'ab(sizeof(xyz), &c)') 2010-01-02 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, lib/tokenize.cpp, lib/tokenize.h, test/testconstructors.cpp, test/testtokenize.cpp: Fixed #1211 (add struct support for constructor checks) 2010-01-02 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1202 (false positive: uninitialized variable when using 'do') 2010-01-02 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1204 (Tokenizer::findClassFunction broken) 2010-01-02 Slava Semushin * lib/checkautovariables.cpp, test/testautovariables.cpp: Fixed #1013 (autovariables: detect when assigning parameter **par) http://sourceforge.net/apps/trac/cppcheck/ticket/1013 2010-01-02 Slava Semushin * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1197 (Segmentation fault when we define function which was already defined by preprocessor) http://sourceforge.net/apps/trac/cppcheck/ticket/1197 2010-01-01 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1178 (1.39: Internal error) 2010-01-01 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1200 (false positive 'uninitialized variable' when using throw) 2010-01-01 Daniel Marjamäki * lib/checkother.cpp: refactoring the fix for #1191 2010-01-01 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1191 (false positive: uninitialized variable) 2010-01-01 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1196 (Hang: Cppcheck hang for the file linux-2.6/drivers/crypto/hifn_795x.c) 2009-12-31 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1188 (false negative: dereferencing p, which is a null pointer 'int y = 5 + *p') 2009-12-31 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: fixed a hang in Tokenizer::simplifyFunctionParameters 2009-12-31 Daniel Marjamäki * test/testclass.cpp: Self assignment in class: added TODO test cases to reduce false positives 2009-12-31 Robert Reif * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: Fixed #1184 (improve test: operator =) 2009-12-31 Daniel Marjamäki * lib/cppcheck.cpp: fixed cppcheck warning 2009-12-31 Daniel Marjamäki * lib/preprocessor.cpp: Fixed #1181 (Preprocessor fails while expanding macros) 2009-12-31 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1183 (False positive: uninitialized variable p 'd = bar(sizeof(*p));') 2009-12-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1182 (False positive: uninitialized variable 'int *pa = &a;') 2009-12-30 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #1173 (Improve check: memory leak not detected in constructor) 2009-12-30 Robert Reif * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1167 (### Internal error in Cppcheck. Please report it.) 2009-12-30 Daniel Marjamäki * lib/checkother.cpp: cleanup 2009-12-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1087 (uninitialized data not detected 'char z = *str') 2009-12-30 Daniel Marjamäki * lib/checkother.cpp, lib/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: Fixed #1105 (improve check: uninitialized variable not detected for 'a = a') 2009-12-30 Robert Reif * lib/checkclass.cpp, test/testclass.cpp: Fixed #1176 (void operator = check doesn't support struct) 2009-12-30 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: Fixed #1041 (passing a nullpointer to a reference) 2009-12-30 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1067 (Tokenizer: K&R style function that returns function pointer) 2009-12-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1177 (False positive: pointer is not dereferenced 'sizeof(*p)') 2009-12-30 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1168 (false positive: Uninitialized variable) 2009-12-29 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1166 (improve check: using uninitialized pointer to create reference 'int &r(*p);') 2009-12-29 Daniel Marjamäki * lib/tokenize.cpp, test/testother.cpp: Robert Reif: Fixed #1163 (post increment test broken for complex template types) 2009-12-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1165 (Tokenizer: wrong simplification of 'do { .. } while (0)' if the body contains continue or break) 2009-12-29 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h: ExecutionPath: Refactoring. Removed the bailOut variable 2009-12-29 Daniel Marjamäki * lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: Fixed #1160 (Null pointer dereference vs. goto) 2009-12-29 Daniel Marjamäki * lib/checkclass.cpp: astyle formatting 2009-12-29 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Robert Reif: Fixed #1164 (only first void operator = found) 2009-12-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Robert Reif: Fixed #1162 (add support to tokenize typedefs with templates) 2009-12-28 Daniel Marjamäki * lib/executionpath.cpp, lib/preprocessor.cpp: Valgrind: Fixed memory leaks when running testrunner that was found by Valgrind 2009-12-28 Daniel Marjamäki * lib/checkstl.h, test/teststl.cpp: Robert Reif: Fixed #1158 ((possible style) message with regular check) 2009-12-28 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Robert Reif: Fixed #1161 (add tokenize support for typedefs with enum definitions) 2009-12-28 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1159 (Valgrind gives error in Tokenizer::simplifyWhile0) 2009-12-28 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1156 ([False positive] Uninitialized variable - class member in constructor) 2009-12-28 Daniel Marjamäki * lib/cppcheck.cpp, lib/cppcheck.h, lib/preprocessor.cpp, lib/settings.cpp, lib/settings.h: exitcode suppressions. Partly fixes #1113 2009-12-28 Daniel Marjamäki * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp, test/testtokenize.cpp: Tokenizer: Simplify 'while (0)' better 2009-12-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed another issue with #1154 (false positive: Data is allocated but not initialized) 2009-12-27 Daniel Marjamäki * lib/mathlib.cpp, test/testmathlib.cpp: astyle formatting 2009-12-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1154 (false positive: Data is allocated but not initialized) 2009-12-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1138 (improve check: dereferencing uninitialized pointer) 2009-12-27 Martin Ettl * lib/mathlib.cpp, test/testmathlib.cpp: added further testcases to testmathlib::convert(); now the conversion of +-[hexnumber|octalnumber] works correctly 2009-12-27 Martin Ettl * test/testmathlib.cpp: added further testcases to testmathlib::isint() 2009-12-27 Martin Ettl * lib/mathlib.cpp, test/testmathlib.cpp: extended testcases of mathlib; fixed zero conversion: +0 and -0 is converted to 0 2009-12-27 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #972 (New check: return pointer of stack memory) 2009-12-27 Daniel Marjamäki * lib/checkother.cpp: Uninitialized variables: Refactoring and commenting a little 2009-12-27 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1153 (False positive: uninitialized data for reinterpret_cast) 2009-12-26 Daniel Marjamäki * test/testmemleak.cpp: Fixed #1120 (Test compile warnings with Cygwin) 2009-12-26 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized variables: Fixed false positive for 'if (ptr)' 2009-12-26 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1151 (false positive: Data is allocated but not initialized) 2009-12-26 Daniel Marjamäki * lib/executionpath.cpp: Fixed #1152 (Hang/Slow: ExecutionPath handling hangs) 2009-12-25 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: ExecutionPath: Refactoring if-handling 2009-12-25 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h: ExecutionPath: Refactoring the interface 2009-12-25 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testother.cpp: Fixed #683 (wrong usage of strcmp) 2009-12-25 Daniel Marjamäki * man/manual.docbook: htmlreport: added brief information in the manual 2009-12-25 Daniel Marjamäki * : Merge commit 'hn/master' 2009-12-25 Daniel Marjamäki * lib/cppcheck.cpp: Robert Reif: fix cppcheck post increment warning 2009-12-25 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1141 (Tokenizer: Wrong simplification of calculations) 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: fixed unit testing 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Refactoring the uninitialized variable / null pointer checks so they use a common function to inspect function calls 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1147 (Improve check: return uninitialized variable) 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed false positives about uninitialized variables 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1137 (false positive: uninitialized variable when using a class object) 2009-12-23 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Robert Reif: Fixed #1139 (false negative: CheckOther::postIncrement() only finds at most one problem) 2009-12-23 Daniel Marjamäki * test/testtokenize.cpp: Robert Reif: code cleanup 2009-12-23 Daniel Marjamäki * lib/cppcheck.cpp: Robert Reif: fix a style warning 2009-12-22 Daniel Marjamäki * lib/checkmemoryleak.cpp: Borland C++: Fixed compiler error 2009-12-22 Daniel Marjamäki * lib/executionpath.h, lib/preprocessor.cpp: Visual Studio: Added casts to silence compiler warnings 2009-12-22 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h: Visual Studio: Fixed unittests 2009-12-22 Daniel Marjamäki * testrunner.cbproj: C++ Builder: updated the testrunner project file - added the lib/executionpath.cpp 2009-12-22 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1133 (Uninitialized array: strchr, strrchr, etc) 2009-12-22 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1128 (false positive: Data is allocated but not initialized) 2009-12-22 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1112 (cppcheck fails because of accented characters in comments) 2009-12-22 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1127 (Segfault with template) 2009-12-22 Daniel Marjamäki * test/testmemleak.cpp, test/testother.cpp: astyle formatting 2009-12-22 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Eric Sesterhenn: Fixed #1130 (False positive uninitialized variable) 2009-12-22 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Eric Sesterhenn: Fixed #1131 (descriptor leak false positive) 2009-12-22 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Robert Reif: Fixed #1108 (Only trivial typedefs are tokenized properly) 2009-12-21 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1096 (Non-obvious error message: Overlapping data buffer) 2009-12-21 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1095 (Non-obvious error message: Dangerous usage of erase) 2009-12-21 Daniel Marjamäki * lib/preprocessor.cpp: preprocessor: removed unnecessary casts 2009-12-21 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #1126 (False positive: upon exception there is memory leak (calling unknown function)) 2009-12-21 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: ericsesterhenn: Fixed #1091 (improve check: nullpointer dereference not detected) 2009-12-21 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h: Execution Path: Refactoring 2009-12-20 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #1124 (Invalid number of character ((). Can't process file.) http://sourceforge.net/apps/trac/cppcheck/ticket/1124 2009-12-20 Daniel Marjamäki * lib/checkother.cpp, lib/executionpath.h, test/testmemleak.cpp: Execution Path: some refactorings of the checking 2009-12-20 Daniel Marjamäki * lib/executionpath.cpp, test/testother.cpp: Fixed #1119 (false positve: uninitialized variable y when y is assigned in inner expression 'x = (y = 10)') 2009-12-20 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1117 (segmentation fault of cppcheck) 2009-12-20 Kimmo Varis * CMakeLists.txt, test/CMakeLists.txt: CMake - add 'make check' -target. Tests are now excluded from normal targets to make compiling faster. 'make check' -target will compile and run tests. 2009-12-20 Kimmo Varis * cli/CMakeLists.txt, gui/CMakeLists.txt, lib/CMakeLists.txt, test/CMakeLists.txt: CMake - use more strict compiler flags. 2009-12-20 Daniel Marjamäki * lib/preprocessor.cpp: Preprocessor: Use 'unsigned char' instead of 'char' 2009-12-20 Daniel Marjamäki * lib/checkclass.cpp: code cleanup 2009-12-19 Daniel Marjamäki * lib/checkstl.cpp: stl size: minor fix to prevent segmentation fault when token is null 2009-12-19 Daniel Marjamäki * lib/checkstl.h: stl size: added documentation 2009-12-19 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp, test/testconstructors.cpp: Fixed #1093 (False positive: missing constructor) 2009-12-19 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkstl.cpp, test/testbufferoverrun.cpp: astyle 2009-12-19 Kimmo Varis * gui/CMakeLists.txt: CMake- fix building GUI from different directory. 2009-12-19 Kimmo Varis * CMakeLists.txt: CMake - disable building GUI for Cygwin. 2009-12-19 Kimmo Varis * : commit d51520d656459780d4addc67cd2e1e3dd830bb2b Author: Kimmo Varis Date: Sat Dec 19 16:54:38 2009 +0200 2009-12-19 Kimmo Varis * gui/cppcheck-gui.rc: Fix Windows GUI resource file. 2009-12-19 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: robert reif: Fixed #1118 (new check: use empty() instead of checking size() against zero) 2009-12-19 Kimmo Varis * cli/CMakeLists.txt, gui/CMakeLists.txt, test/CMakeLists.txt: CMake - cleaner way to set additional library for Windows. 2009-12-18 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #1107 (False positive: Dangerous usage of erase, when using std::list) 2009-12-18 Daniel Marjamäki * lib/filelister.cpp: lanurmi: Fixed #1016 (Patch: Refactor #ifdefs in filelister.cpp) 2009-12-18 Daniel Marjamäki * cli/cppcheck.vcproj, test/test.vcproj: Fixed #1101 (link error with latest git in Visual Studio) 2009-12-18 Daniel Marjamäki * cppcheck.cbproj: C++ Builder: updated project file 2009-12-18 Daniel Marjamäki * lib/checkbufferoverrun.h: added error info about the strncpy check 2009-12-18 Daniel Marjamäki * lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, test/testbufferoverrun.cpp: ericsesterhenn: Fixed #1106 (check if buffer is zero terminated after a strncpy) 2009-12-17 Kimmo Varis * cli/CMakeLists.txt, gui/CMakeLists.txt, test/CMakeLists.txt: CMake - Fix Windows build. 2009-12-17 Kimmo Varis * lib/CMakeLists.txt: CMake - add missing file in lib. 2009-12-17 Kimmo Varis * lib/CMakeLists.txt: CMake - reorder files in lib's makefile. 2009-12-14 Kimmo Varis * gui/CMakeLists.txt: CMake - build GUI translation files. 2009-12-14 Kimmo Varis * CMakeLists.txt, gui/CMakeLists.txt: CMake GUI build - fix adding resources to GUI. 2009-12-14 Kimmo Varis * CMakeLists.txt, gui/CMakeLists.txt: Build GUI using CMake. This is a start for building GUI with CMake. It works but it is a bit ugly. 2009-12-14 Kimmo Varis * CMakeLists.txt, test/CMakeLists.txt: Add testsuite to CMake build files. 2009-12-12 Kimmo Varis * CMakeLists.txt, cli/CMakeLists.txt, lib/CMakeLists.txt: Add simple CMake build files to build lib and cli. Apparently not everybody wants to use QMake to build cppcheck. Which is understandable if you only want to hack on/build lib and cli. Qt and QMake are pretty lot to install for just that. So lets start using CMake. It is widely used and is "just" build system and not programming framework. CMake is also easy to use for building Qt software too so it can replace QMake. This first commit only builds lib and cli for Linux. 2009-12-15 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #1086 (segmentation fault of cppcheck '#if define(A)+define(B)+define(C)!=1') 2009-12-15 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1103 (false positive: uninitialized variable when using references) 2009-12-15 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: TestLocalLeaks: going out of scope 2009-12-15 Henrik Nilsson * htmlreport/cppcheck-htmlreport: cppcheck doesn't always report a filename for an error. Added some error checking so this tool doesn't crash. 2009-12-15 Henrik Nilsson * htmlreport/setup.py: Added a installation script for the cppcheck-htmlreport utility. The script uses distutils to install the script into /usr/bin/. The following will install the script: sudo ./setup.py install 2009-12-15 Reijo Tomperi * lib/checkmemoryleak.cpp: Fix compiler error: cast from 'CheckLocalLeaks*' to 'int' loses precision 2009-12-14 Daniel Marjamäki * lib/lib.pri: fixed #1099 (GUI: unable to build gui from current git-head) 2009-12-15 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #1076 (Invalid number of character ({). Can't process file.) http://sourceforge.net/apps/trac/cppcheck/ticket/1076 2009-12-14 Daniel Marjamäki * Makefile, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/executionpath.cpp, lib/executionpath.h, test/testmemleak.cpp: Added TestLocalLeaks 2009-12-13 Reijo Tomperi * test/testpreprocessor.cpp: Test case for #1076 (Invalid number of character ({). Can't process file.) 2009-12-13 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #1082 (False positive: Resource leak in loop which exits only after releasing resource) 2009-12-13 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testcppcheck.cpp, test/testpreprocessor.cpp, test/testsuite.cpp: Fixed #1084 (define configuration lost) 2009-12-13 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1058 (Preprocessor: extracting configuration for '#if DEF == 1') 2009-12-13 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1072 (False positive: class member initialization with '*p=0;') 2009-12-12 Daniel Marjamäki * using_gcov.txt: removed deprecated file using_gcov.txt 2009-12-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1097 (Internal error: When macro is not expanded 'ABC(for (i=0;i<10;i++) ..);') 2009-12-12 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #1074 (Exception safety: auto deallocated classes don't leak) 2009-12-11 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Fixed TODO_ASSERT_EQUALS 2009-12-11 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #1080 (false positive: member variable not initialized) 2009-12-11 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1075 (False positive: uninitialized variable 'return bar(s);') 2009-12-11 Daniel Marjamäki * lib/preprocessor.cpp, lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #1060 (Preprocessor: wrong define handling) 2009-12-11 Henrik Nilsson * htmlreport/cppcheck-htmlreport: index.html page is now complete with a list of files and all errors found. Other changes: * added a stylesheet and made the html design much better. * contains links directly to the line in the source file. 2009-12-09 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #1061 (false positve: uninitialized variable) 2009-12-09 Daniel Marjamäki * lib/tokenize.cpp, test/testpreprocessor.cpp: Fixed #1024 (Preprocessor: doesn't expand macro in macro) 2009-12-09 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Refactoring the Preprocessor::expandMacros 2009-12-08 Reijo Tomperi * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fix #1071 ((style) The function 'throw' is never used) http://sourceforge.net/apps/trac/cppcheck/ticket/1071 2009-12-08 Reijo Tomperi * lib/tokenize.cpp: Apply patch from #1066 (Speed up cppcheck) http://sourceforge.net/apps/trac/cppcheck/ticket/1066 2009-12-08 Henrik Nilsson * htmlreport/README.txt, htmlreport/cppcheck-htmlreport: Added a python script that takes the cppcheck output xml file and generates a html report of it. The html report is complete with syntax highlighted source code using the pygments module. This initial commit contains generation of html files but the actual errors is missing from the html content and the index.html file. 2009-12-08 Reijo Tomperi * lib/checkautovariables.cpp, test/testautovariables.cpp: Fix #1069 (Minor spelling mistake across cppcheck) http://sourceforge.net/apps/trac/cppcheck/ticket/1069 2009-12-08 Reijo Tomperi * test/testsimplifytokens.cpp: Added test case for else if simplification 2009-12-07 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #1065 (Internal error - incrementing single char in char array) http://sourceforge.net/apps/trac/cppcheck/ticket/1065 2009-12-07 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #1063 (False positive: deallocated memory doesn't leak upon exception) 2009-12-07 Reijo Tomperi * lib/tokenize.cpp, test/testtokenize.cpp: Fix #1057 (Tokenizer: negative numbers are not tokenized correctly in switch-case) http://sourceforge.net/apps/trac/cppcheck/ticket/1057 2009-12-06 Reijo Tomperi * lib/checkother.cpp: small fix to previous commit 2009-12-06 Reijo Tomperi * lib/checkother.cpp: Minor refactoring for checkother.cpp 2009-12-06 Daniel Marjamäki * lib/checkother.cpp: STL: fix iterator bug 2009-12-06 Daniel Marjamäki * lib/checkother.cpp: Visual C++: Suppress compiler warnings 2009-12-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Reverted refactoring 2009-12-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Fix so the unit tests work again 2009-12-06 Daniel Marjamäki * lib/checkother.cpp, lib/cppcheck.cpp, lib/preprocessor.cpp, lib/preprocessor.h, lib/settings.cpp, lib/settings.h: twistedwave: Fixed #1055 (Support for inline suppressions) 2009-12-06 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Refactoring to make it simpler 2009-12-06 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: newcheck: added the 'newcheck' functionality. It's still in early state so it needs refactoring 2009-12-06 Daniel Marjamäki * lib/checkclass.cpp, lib/checkclass.h, test/testclass.cpp: class checking: It's a 'possible style' error if a private constructor is not initializing a member variable 2009-12-06 Daniel Marjamäki * Makefile: Makefile: restored to debugging mode 2009-12-06 Martin Ettl * gui/resultstree.cpp, gui/resultstree.h: gui:added an right-click option "copy message" 2009-12-06 Daniel Marjamäki * Changelog: Updated Changelog 2009-12-06 Daniel Marjamäki * Makefile: update the Makefile for the release 2009-12-06 Daniel Marjamäki * cli/cppcheck.rc, cli/main.cpp, createrelease, lib/cppcheck.cpp, win_installer/cli.wxs: version 1.39 2009-12-06 Daniel Marjamäki * lib/tokenize.cpp: suppress 'internal error' message about failed template instantiation in release mode 2009-12-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1052 (Internal error for 'int vals[] = { 0x13, 1?0x01:0x00 };') 2009-12-06 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1051 (segmentation fault when there is syntax error) 2009-12-06 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1050 (Internal error: In tokenizer for: 'do { sizeof 1; } while (0);') 2009-12-05 Daniel Marjamäki * lib/tokenize.cpp: Fixed #1049 (Tokenizer: internal error for 'std::list w1, w2;') 2009-12-05 Daniel Marjamäki * lib/checkexceptionsafety.cpp, test/testexceptionsafety.cpp: Fixed #1048 (False positive: exceptNew error with nothrow) 2009-12-05 Reijo Tomperi * man/cppcheck.1.xml: Minor fixes to the man page. 2009-12-05 Reijo Tomperi * test/testsimplifytokens.cpp: CRLF -> LF fix 2009-12-05 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #1046 (tokenizer: internal error for 'discard_block< (1 << 24), 10, 24 > u, v;') 2009-12-05 Daniel Marjamäki * lib/cppcheck.cpp, man/cppcheck.1.xml: updated help about --enable 2009-12-05 Daniel Marjamäki * cppcheck.cbproj, lib/settings.cpp: Borland C++: fixed compiler error and updated the project file to include iterator debugging 2009-12-05 Daniel Marjamäki * lib/checkexceptionsafety.cpp: Fixed #1044 (Access violation with --enable=all) 2009-12-05 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1026 (false positive: buffer access out of bounds) 2009-12-05 Daniel Marjamäki * lib/cppcheck.cpp, lib/settings.cpp: Fixed #1043 (use cppcheck:.. syntax in error messages) 2009-12-04 Daniel Marjamäki * lib/settings.cpp: --enable: readded code so that parameters can be comma separated 2009-12-04 Daniel Marjamäki * lib/settings.cpp: fix a bug in commit 84a6fe6b54c26acb5d1dc3fd57b1de9634a801b1 2009-12-04 Daniel Marjamäki * man/manual.docbook: updated the manual 2009-12-04 Daniel Marjamäki * lib/cppcheck.cpp, lib/settings.cpp, test/testexceptionsafety.cpp: Fixed #1034 (change --enable to --enable=all) 2009-12-04 Reijo Tomperi * lib/token.cpp, lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fix #1037 (tokenizing a nested do while, while loop fails) http://sourceforge.net/apps/trac/cppcheck/ticket/1037 2009-12-03 Reijo Tomperi * lib/checkmemoryleak.cpp: astyle fix 2009-12-03 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Eric Sesterhenn: Fixed #1032 (False positive resource leak with exit at end of function) 2009-12-02 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1030 (wrong line number with goto) 2009-11-30 Reijo Tomperi * lib/checkexceptionsafety.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testexceptionsafety.cpp: Refactoring: Parse --enable values in Settings class 2009-11-30 Reijo Tomperi * lib/cppcheck.cpp: Add --unused-functions back to help, but mention that it is deprecated. 2009-11-30 Reijo Tomperi * man/cppcheck.1.xml: Update man page 2009-11-30 Daniel Marjamäki * lib/tokenize.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp: ericsesterhenn: Fix #1028 (False positive resource leak) 2009-11-29 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fix #1022 (False positive: uninitialized variable when using local struct) 2009-11-29 Reijo Tomperi * lib/cppcheck.cpp: Fix #986 (Move --all and --style to --enable) http://sourceforge.net/apps/trac/cppcheck/ticket/986 2009-11-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1027 (Internal error: sizeof a++) 2009-11-29 Daniel Marjamäki * lib/tokenize.cpp: changed error message when there an internal error in Cppcheck is found 2009-11-29 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1020 (lib/tokenize.cpp:4615: bool Tokenizer::validate() const: Assertion 0 failed) 2009-11-28 Reijo Tomperi * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h: validator bugs are now printed using the errorlogger 2009-11-28 Daniel Marjamäki * lib/check.h: DJGPP: fix runtime errors because list is destroyed before objects 2009-11-28 Daniel Marjamäki * cli/cli.pro, test/test.pro: use checked STL in debugmode 2009-11-28 Daniel Marjamäki * cli/cli.pro: cli: in release use the NDEBUG to avoid assertions 2009-11-28 Daniel Marjamäki * gui/gui.pro: gui: with the define NDEBUG the assertions are disabled 2009-11-28 Reijo Tomperi * lib/checkbufferoverrun.cpp, lib/preprocessor.cpp: Use sizeOfType() instead of sizeof(void*) 2009-11-28 Martin Ettl * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: partial fix of ticket #997; added check for write() two testcases 2009-11-28 Daniel Marjamäki * lib/preprocessor.cpp, lib/token.cpp, lib/token.h, lib/tokenize.cpp: mode change from 755 to 644 2009-11-28 Daniel Marjamäki * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #1021 (Out-of-bounds access false positive) 2009-11-28 Daniel Marjamäki * lib/preprocessor.cpp, lib/token.cpp: minor fixes 2009-11-28 Daniel Marjamäki * lib/token.cpp, lib/token.h: fixed buffer overrun and removed redundant function Token::str 2009-11-28 Daniel Marjamäki * testrunner.cbproj: Borland C++: updated the testrunner project 2009-11-28 Daniel Marjamäki * lib/tokenize.cpp: Borland C++: Fixed compiler error 2009-11-28 Reijo Tomperi * lib/token.cpp, lib/token.h, lib/tokenize.cpp: Token debug function printOut() can now print out filename instead of index 2009-11-27 Reijo Tomperi * lib/token.cpp, lib/token.h, lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #1018 (strcat(strcat()) causes assertion in Tokenizer::validate) Test case provided by povaddict http://sourceforge.net/apps/trac/cppcheck/ticket/1018 2009-11-27 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #1015 (SIGABRT: Tokenizer::validate for openttd/src/ai/ai_config.cpp) 2009-11-26 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #1014 (Preprocessor: Invalid preprocessing of '#define some_delete(x) delete x;') 2009-11-25 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #1007 (False positive array index out of bounds concerning a switch statement in a for loop) Bailout if switch is found in for loop. http://sourceforge.net/apps/trac/cppcheck/ticket/1007 2009-11-24 Daniel Marjamäki * gui/resultstree.cpp: Robert Reif: initialize array (#366) 2009-11-23 Daniel Marjamäki * win_installer/cppcheck.wxs: windows installer: non-advertised shortcut for manual. Seems to work better 2009-11-23 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #989 (CppCheck crashes on Win XP when scanning large directories/subdirectories) 2009-11-22 Reijo Tomperi * Makefile, tools/dmake.cpp: Added 'make man' to Makefile 2009-11-22 Reijo Tomperi * lib/tokenize.h: Fix #1003 (Compiler warning: is there a reason for Tokenizer::getErrorMessages to be virtual?) Destructor is now virtual. http://sourceforge.net/apps/trac/cppcheck/ticket/1003 2009-11-22 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Temporary fix for #994 (cppcheck cannot check my sources with segfaulting) 2009-11-22 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #993 (Latest Git drop aborts at 63% of wine tree) 2009-11-21 Daniel Marjamäki * win_installer/build3.bat: Installer: minor fix in build script 2009-11-22 Slava Semushin * lib/preprocessor.cpp: lib/preprocessor.cpp: clean up code. Improvements for: 092f64b77a554848db35b263bfd252f266db80f3 No functional change. 2009-11-21 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, lib/tokenize.h, test/testpreprocessor.cpp: Fixed #982 (Preprocessor: detects and remove conditions which always true) 2009-11-21 Slava Semushin * lib/tokenize.cpp: Fixed #988 (Tokenizer::simplifyDoWhileAddBraces(): don't add braces after "do" when it not a loop) FIXME: test cases needed. http://sourceforge.net/apps/trac/cppcheck/ticket/988 2009-11-21 Daniel Marjamäki * win_installer/cli.wxs, win_installer/cppcheck.wxs, win_installer/gui.wxs, win_installer/productInfo.wxi: Windows Installer: added manual.pdf, renamed cppcheck.msi => cli.msi, renamed gui.msi => cppcheck.msi, fixes for upgrading 2009-11-21 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #995 (false positive: buffer access out of bounds when using fgets) http://sourceforge.net/apps/trac/cppcheck/ticket/995 2009-11-20 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #985 (Detect buffer overrun with read()) http://sourceforge.net/apps/trac/cppcheck/ticket/985 2009-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #965 (Division by zero false positive with nested macros) 2009-11-21 Slava Semushin * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #990 (Tokenizer::simplifyIfAddBraces() handle case where statement after if doesn't end by semicolon) http://sourceforge.net/apps/trac/cppcheck/ticket/990 2009-11-20 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #960 (Tokenizer::validate() assertion failure with mismatched brackets) 2009-11-20 Daniel Marjamäki * lib/preprocessor.cpp, lib/preprocessor.h, test/testpreprocessor.cpp: Fixed #912 (### Unlogged error at Tokenizer::syntaxError: Invalid number of character (()) 2009-11-20 Reijo Tomperi * gui/resultstree.cpp: Fix #864 (GUI fails to open second position for multi-line errors) Apply patch from robertreif http://sourceforge.net/apps/trac/cppcheck/ticket/864 2009-11-20 Reijo Tomperi * gui/mainwindow.cpp: Fix #981 (GUI saves report with wrong extension) Apply patch from robertreif http://sourceforge.net/apps/trac/cppcheck/ticket/981 2009-11-20 Slava Semushin * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #983 (Tokenizer::simplifyTypedef() incorrectly substitute type inside namespace) http://sourceforge.net/apps/trac/cppcheck/ticket/983 2009-11-19 Reijo Tomperi * cppcheck.cbp: Add execution parameters to codeblocks project file: p.cpp --debug 2009-11-19 Reijo Tomperi * lib/preprocessor.cpp, test/testpreprocessor.cpp: Fix #971 (Preprocessor: Handle partial macro in macro) http://sourceforge.net/apps/trac/cppcheck/ticket/971 2009-11-18 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #968 (False positive when TEMP_FAILURE_RETRY used) 2009-11-18 Reijo Tomperi * test/testpreprocessor.cpp: Added a few TODO test cases for #971 (Invalid number of characters (()) http://sourceforge.net/apps/trac/cppcheck/ticket/971 2009-11-17 Reijo Tomperi * test/testtokenize.cpp: astyle fix 2009-11-17 Daniel Marjamäki * test/testother.cpp: fixed testcase so it's valid syntax 2009-11-18 Slava Semushin * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #970 (Tokenizer: Incorrect comparison order simplification) Revert changes from 11cb7b4710cf78be6d6efc8ad3165e0e98cadd3a commit for lib/tokenize.cpp (fixed it by another way). Teach unsignedint() to expand "unsigned" in casts. http://sourceforge.net/apps/trac/cppcheck/ticket/970 2009-11-16 Daniel Marjamäki * man/manual.docbook: manual: refactorings 2009-11-16 Daniel Marjamäki * gui/resultstree.cpp: robertreif: Fixed #442 (Filter duplicate errors in GUI) 2009-11-16 Daniel Marjamäki * gui/resultstree.cpp: robertreif: Fixed #726 (GUI: Fix quoting of paths with spaces in Windows) 2009-11-15 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed 2009-11-15 Daniel Marjamäki * man/buildman.sh, man/manual.docbook: Manual: Minor refactorings. Added a simple build script 2009-11-15 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #925 (uninitialized deletion not detected) 2009-11-15 Daniel Marjamäki * lib/mathlib.cpp: Fixed #891 (false positive: division by zero) 2009-11-15 Daniel Marjamäki * gui/mainwindow.cpp: gui: fixed compiler error 2009-11-15 Daniel Marjamäki * man/manual.docbook: manual: better description of --enable (#883) 2009-11-15 Reijo Tomperi * lib/checkbufferoverrun.cpp: Minor fix to previous commit 2009-11-15 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp, test/testother.cpp: Fix #964 (Integer division by zero exception) http://sourceforge.net/apps/trac/cppcheck/ticket/964 2009-11-15 Daniel Marjamäki * man/cppcheck.1.xml: manual: updated the manpage regarding --enable (#883) 2009-11-15 Daniel Marjamäki * lib/cppcheck.cpp: help screen updates for the --enable command (#883) 2009-11-15 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testexceptionsafety.cpp: Fixed #883 (Add new command line argument --enable) 2009-11-15 Slava Semushin * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #842 (out of bounds: when buffer is allocated with malloc) http://sourceforge.net/apps/trac/cppcheck/ticket/842 2009-11-15 Slava Semushin * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #900 (Improve out-of-bounds check to detect error with "new char(x)") http://sourceforge.net/apps/trac/cppcheck/ticket/900 2009-11-15 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #953 (false positive: 'uninitialized variable' with function pointer) 2009-11-15 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #483 (False positive: found leak when foreach for lists used) 2009-11-15 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: simple code cleanup 2009-11-15 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #915 (false positive: memory leak for struct member (allocated in condition) 2009-11-14 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #936 (false positive: uninitialized variable '.. else return; .. ') 2009-11-14 Daniel Marjamäki * man/manual.docbook: manual: some minor refactorings 2009-11-14 Daniel Marjamäki * lib/cppcheck.cpp: removed command line flag --exception-safety from the help page 2009-11-14 Slava Semushin * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #961 (Tokenizer: call simplifyCasts() before removing "unsigned" keyword) http://sourceforge.net/apps/trac/cppcheck/ticket/961 2009-11-14 Daniel Marjamäki * man/manual.docbook: Manual: Minor refactorings 2009-11-14 Daniel Marjamäki * lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, test/testmemleak.cpp: Fixed #944 (new false positives against Wine Git Tree) 2009-11-14 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #913 (false positive: uninitialized variable) 2009-11-13 Daniel Marjamäki * lib/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: When #error is encountered the result is an empty string => don't check configuration 2009-11-13 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #919 (possible memory leak not detected) 2009-11-14 Slava Semushin * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #954 (Tokenizer: correctly simplify sizeof of class members) http://sourceforge.net/apps/trac/cppcheck/ticket/954 2009-11-13 Daniel Marjamäki * man/manual.docbook: manual: added the section 'introduction' 2009-11-12 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h, test/testtokenize.cpp: Fix #945 (Array index out of bounds not detected, because of "int const") http://sourceforge.net/apps/trac/cppcheck/ticket/945 2009-11-12 Reijo Tomperi * lib/token.cpp, lib/tokenize.cpp, test/testbufferoverrun.cpp: Fix #947 (Errors not detected when size_t is used instead of int) http://sourceforge.net/apps/trac/cppcheck/ticket/947 2009-11-12 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #946 (False positive: Buffer access out-of-bounds) http://sourceforge.net/apps/trac/cppcheck/ticket/946 2009-11-12 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #951 (Preincremented struct member confused with numeric constant) 2009-11-12 Reijo Tomperi * test/testsimplifytokens.cpp, test/testtokenize.cpp: Test case for #903 (segmentation fault of cppcheck) http://sourceforge.net/apps/trac/cppcheck/ticket/903 2009-11-13 Slava Semushin * lib/tokenize.cpp: Fixed #903 (segmentation fault of cppcheck) http://sourceforge.net/apps/trac/cppcheck/ticket/903 2009-11-12 Daniel Marjamäki * lib/tokenize.cpp, test/testtokenize.cpp: Fixed #950 (Bug in cppcheck tokenize.cpp) 2009-11-11 Daniel Marjamäki * man/manual.docbook: Manual: Working draft for a Cppcheck manual 2009-11-12 Slava Semushin * lib/tokenize.cpp: Fixed #935 (Tokenizer: link() problem) http://sourceforge.net/apps/trac/cppcheck/ticket/935 2009-11-10 Reijo Tomperi * lib/cppcheck.cpp, lib/tokenize.cpp, lib/tokenize.h: Use validate after tokenize and simplifyTokenlist calls. Disabled until known problems fixed. 2009-11-10 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Uninitialized variables: detect uninitialized pointer array 2009-11-10 Daniel Marjamäki * lib/checkclass.cpp, test/testclass.cpp: Fixed #928 (false positive: member variable not initialized in constructor) 2009-11-10 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #931 (Invalid interator false positive with identical variable names) 2009-11-10 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #929 (Uninitialized variable false positive) 2009-11-10 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #932 (false positive: Dereferenced iterator 'i' has been erased) 2009-11-09 Daniel Marjamäki * tools/extracttests.cpp: extracttests: astyle formatting 2009-11-09 Daniel Marjamäki * test/testother.cpp: unit testing: minor syntax updates 2009-11-09 Daniel Marjamäki * tools/extracttests.cpp: extracttests: minor updates 2009-11-09 Daniel Marjamäki * test/testbufferoverrun.cpp: unit testing: minor syntax fixes 2009-11-09 Reijo Tomperi * lib/preprocessor.cpp: Made some syntax errors slightly easier to detect. 2009-11-08 Daniel Marjamäki * htdocs/main.html, htdocs/top.html: webpage: removed main.html and top.html 2009-11-08 Daniel Marjamäki * htdocs/help.html, htdocs/index.html: webpage: removed the index.html and help.html 2009-11-08 Daniel Marjamäki * htdocs/help.html, htdocs/index.html, htdocs/main.html, htdocs/top.html: webpage: created a simple website for us 2009-11-08 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkother.cpp, test/testexceptionsafety.cpp: Fixed #832 (Exception Safety: deallocating member pointer and then throwing exception) 2009-11-08 Daniel Marjamäki * tools/extracttests.cpp: extracttests: extract more tests 2009-11-08 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #910 (false positive: uninitialized variable for array) 2009-11-07 Daniel Marjamäki * test/testbufferoverrun.cpp: testbufferoverrun.cpp: fixed unit test error 2009-11-07 Daniel Marjamäki * tools/extracttests.cpp: extracttests: extract to cpp instead and don't generate the Makefile - it's easier to use a simple standard Makefile instead. 2009-11-07 Daniel Marjamäki * test/testbufferoverrun.cpp: testbufferoverrun.cpp: minor updates to make it work better as extracted code 2009-11-07 Daniel Marjamäki * tools/extracttests.cpp: extracttests: Added a simple program for extracting testcode from our unit testing 2009-11-07 Daniel Marjamäki * test/testbufferoverrun.cpp: testbufferoverrun: minor updates to make the code more easily compilable 2009-11-07 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized data: minor fix to handle 'new char [' better 2009-11-07 Reijo Tomperi * lib/checkother.cpp: astyle fix 2009-11-07 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: uninitialized data: added more checking for allocated data 2009-11-07 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #907 (Tokenizer: known result of strlen) 2009-11-07 Daniel Marjamäki * lib/checkmemoryleak.cpp: Fixed #905 (memory leak not detected when using puts) 2009-11-07 Daniel Marjamäki * cppcheck.sln: Visual C++: removed 'gui' target from the cppcheck solution 2009-11-07 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #903 (false positive: buffer access out of bounds) http://sourceforge.net/apps/trac/cppcheck/ticket/903 2009-11-06 Daniel Marjamäki * test/testbufferoverrun.cpp: cleanup in testbufferoverrun.cpp 2009-11-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized variables: better checking of strncpy 2009-11-06 Daniel Marjamäki * lib/cppcheck.cpp: removed --exception-safety and added --enable 2009-11-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #904 (false positive: uninitialized variable) 2009-11-06 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #902 (false positive: uninitialized variable when variable is initialized in macro) 2009-11-05 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #898 (Tokenizer: remove unneeded const after *) 2009-11-05 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #897 (false positive: uninitialized variable when assigning pointer to array to struct member) 2009-11-05 Reijo Tomperi * lib/tokenize.cpp, lib/tokenize.h, test/testsimplifytokens.cpp: Fixed #896 (False positive with --all when return value of open() is positive in a loop) http://sourceforge.net/apps/trac/cppcheck/ticket/896 2009-11-04 Daniel Marjamäki * lib/checkexceptionsafety.h, test/testexceptionsafety.cpp: updated error message when memory leaks upon exception 2009-11-04 Reijo Tomperi * test/testclass.cpp: Add one more test case for #895 (false positive: Suspicious pointer subtraction) 2009-11-04 Reijo Tomperi * lib/checkclass.cpp, test/testclass.cpp: Fix #895 (false positive: Suspicious pointer subtraction) http://sourceforge.net/apps/trac/cppcheck/ticket/895 2009-11-03 Daniel Marjamäki * lib/checkother.cpp: use Token::link instead of findmatch to find ']' 2009-11-03 Reijo Tomperi * lib/tokenize.cpp, test/teststl.cpp, test/testtokenize.cpp: Fix #894 (Invalid line number in "Invalid number of character") http://sourceforge.net/apps/trac/cppcheck/ticket/894 2009-11-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #893 (False Positive: Uninitialized variable b in a[0] = b[0] = '\0';) 2009-11-03 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, test/testexceptionsafety.cpp: Exception safety: added check for unsafe reallocation of member pointer 2009-11-03 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, test/testexceptionsafety.cpp: Exception Safety: detect unsafe multiple new in a execution path (#831) 2009-11-03 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #890 (false positive: Uninitialized variable when pointer takes the address to array) 2009-11-03 Reijo Tomperi * lib/tokenize.cpp, test/testtokenize.cpp: Fix #881 (Tokenizer: Something seems to be wrong in Tokenizer::simplifyKnownVariables) http://sourceforge.net/apps/trac/cppcheck/ticket/881 2009-11-02 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: STL: refactoring and fixing 2009-11-02 Daniel Marjamäki * test/teststl.cpp: Refactoring 2009-11-02 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: astyle formatting 2009-11-02 Daniel Marjamäki * lib/checkstl.cpp, lib/checkstl.h, test/teststl.cpp: STL: added check for dangerous usage of std::find (#829) 2009-11-02 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #764 (usage of unitialized variable not detected) 2009-11-02 Daniel Marjamäki * lib/preprocessor.cpp, test/testother.cpp, test/testpreprocessor.cpp: Fixed #882 (false positive: uninitialized variable) 2009-11-02 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #889 (false positive: uninitialized variable) 2009-11-01 Daniel Marjamäki * test/testsimplifytokens.cpp: fixed todo testcase 2009-11-01 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed segmentation fault. Had to change one test case to TODO for now. 2009-11-01 Daniel Marjamäki * lib/tokenize.cpp, test/testclass.cpp, test/testsimplifytokens.cpp: Fixed #880 (Tokenizer: The Tokenizer::simplifyTemplates doesn't handle recursive templates) 2009-11-01 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Templates: Better handling of recursive templates 2009-11-01 Reijo Tomperi * lib/checkother.cpp, test/testother.cpp: Fix #884 (False positive: Possible null pointer reference about a non-pointer) http://sourceforge.net/apps/trac/cppcheck/ticket/884 2009-10-31 Daniel Marjamäki * lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/cppcheck.cpp, lib/settings.cpp, lib/settings.h, test/testexceptionsafety.cpp: Fixed #831 (Exception safety: multiple new in a simple execution path) 2009-10-31 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #843 (new check: Passing uninitialized array to strlen/strdup/strcpy/strcat/etc) 2009-10-31 Daniel Marjamäki * lib/checkstl.cpp, test/teststl.cpp: Fixed #877 (False positive: After insert, iterator may be invalid) 2009-10-31 Reijo Tomperi * lib/preprocessor.cpp: Fix #685 (Include file not found is printed with -v when include file is empty) http://sourceforge.net/apps/trac/cppcheck/ticket/685 2009-10-31 Daniel Marjamäki * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #430 (Tokenizer: handle templates with partial specialisation) 2009-10-31 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #876 (false positive: uninitialized variable) 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #875 (Uninitialized variable: initialization in subfunction) 2009-10-30 Daniel Marjamäki * lib/checkother.cpp: uninitialized variables: return|goto are not used in variable declarations 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: null pointer: fixed false positive when condition checks if pointer is ok 2009-10-30 Daniel Marjamäki * lib/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed #867 (unused member function warning) 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized variables: fixed false positive when switch is used 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Uninitialized pointers: It's allowed to dereference uninitialized non-pointer variables 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: Fixed #874 (false positive: uninitialized variable) 2009-10-30 Daniel Marjamäki * lib/checkother.cpp, test/testother.cpp: uninitialized variables: fixed false positives for member variables 2009-10-29 Daniel Marjamäki * test/testother.cpp: uninitialized variables: Added TODO testcase for removing false positives 2009-10-29 Daniel Marjamäki * lib/checkother.cpp, lib/checkother.h, test/testother.cpp: uninitialized variables: added check 2009-10-29 Reijo Tomperi * lib/tokenize.cpp, test/testsimplifytokens.cpp: Fix #870 (The CheckClass::getVarList method detects 'const' as a variable name.) http://sourceforge.net/apps/trac/cppcheck/ticket/870 2009-10-29 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #868 (False positive - buffer access out of bounds in for loop) http://sourceforge.net/apps/trac/cppcheck/ticket/868 2009-10-28 Reijo Tomperi * lib/checkbufferoverrun.cpp: Minor fix to previous commit 2009-10-28 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Modify CheckBufferOverrun::checkGlobalAndLocalVariable() to use varid only. Also add some TODO test cases. 2009-10-28 Daniel Marjamäki * all.pro, cppcheck.pro: Renamed top-level cppcheck.pro to all.pro 2009-10-28 Daniel Marjamäki * cli/cppcheck.vcproj, test/test.vcproj: Visual Studio: Manually edited the vcproj files. The absolute paths were replaced with relative paths 2009-10-28 Daniel Marjamäki * cppcheck.pro: Restructuring: updated the top cppcheck.pro file 2009-10-28 Daniel Marjamäki * cli/cli.pro, cli/cppcheck.vcproj, cli/resource.h, cppcheck.sln, cppcheck.vcproj, gui/gui.pro, lib/lib.pri, lib/resource.h, test/test.vcproj, testrunner.sln, testrunner.vcproj: Restructuring: Updated the Visual Studio project files. They are now generated by qmake 2009-10-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Detect simple leak 2009-10-27 Kimmo Varis * win_installer/build1.bat, win_installer/build2.bat: Make switching QT version easier in build batch files. 2009-10-27 Daniel Marjamäki * lib/errorlogger.cpp: Fixed #854 (invalid XML generated for folders containing &) 2009-10-27 Daniel Marjamäki * lib/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #860 (Improve double delete detection) 2009-10-27 Daniel Marjamäki * cppcheck.cbproj: Restructuring: Updated the Borland C++ project file 2009-10-27 Daniel Marjamäki * cli/cli.pro, cli/cppcheck.rc, gui/gui.pro, lib/cppcheck.rc, win_installer/build.proj, win_installer/build1.bat, win_installer/build2.bat, win_installer/build3.bat: Restructuring: updated win_installer scripts 2009-10-27 Reijo Tomperi * test/testbufferoverrun.cpp: Test case for #863 (false positive memset array of pointers) http://sourceforge.net/apps/trac/cppcheck/ticket/863 2009-10-27 Reijo Tomperi * lib/checkbufferoverrun.cpp, test/testsimplifytokens.cpp: Fix #863 (false positive memset array of pointers) http://sourceforge.net/apps/trac/cppcheck/ticket/863 Also fix test cases for 64 bit systems. 2009-10-27 Daniel Marjamäki * lib/settings.cpp, lib/settings.h: simple optimisation 2009-10-27 Reijo Tomperi * cppcheck.vcproj, testrunner.vcproj: Apply patches from polygon7 to fix #857 (Compilation error after refactoring the folder structure) http://sourceforge.net/apps/trac/cppcheck/ticket/857 2009-10-27 Reijo Tomperi * lib/cppcheck.cpp, tools/dmake.cpp: astyle fix 2009-10-26 Daniel Marjamäki * Makefile, tools/dmake.cpp: Restructuring: Updated the dependency walker 2009-10-26 Daniel Marjamäki * test/test.pro: Restructuring: Updated test/test.pro 2009-10-26 Daniel Marjamäki * lib/cppcheck.cpp, lib/cppcheck.h: Refactoring: Changed pointer to reference 2009-10-26 Daniel Marjamäki * doxyfile: Restructuring: Doxyfile updated 2009-10-26 Daniel Marjamäki * generate_coverage_report: Restructuring: Generate coverage report 2009-10-25 Reijo Tomperi * cppcheck.cbp: codeblocks project file updated 2009-10-25 Daniel Marjamäki * Makefile: Refactoring: Updated Makefile 2009-10-25 Daniel Marjamäki * cli/cli.pro, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/main.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/cppcheckexecutor.cpp, lib/cppcheckexecutor.h, lib/lib.pri, lib/threadexecutor.cpp, lib/threadexecutor.h: restructuring the folder structure 2009-10-25 Reijo Tomperi * cppcheck.cbp, gui/mainwindow.cpp, lib/cppcheck.cpp, lib/cppcheck.h: Refactoring: Make Cppcheck::version() static Update codeblocks projectfile 2009-10-25 Daniel Marjamäki * Makefile, cli/cli.pro, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/main.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, gui/checkthread.h, gui/gui.pro, gui/mainwindow.cpp, gui/resultsview.h, gui/threadhandler.h, gui/threadresult.h, lib/cppcheckexecutor.cpp, lib/cppcheckexecutor.h, lib/lib.pri, lib/src.pri, lib/src.pro, lib/threadexecutor.cpp, lib/threadexecutor.h: fixed qmake building with new folder structure 2009-10-25 Reijo Tomperi * man/cppcheck.1.xml: Fixed typo in man page 2009-10-25 Daniel Marjamäki * Makefile, cli/cppcheckexecutor.cpp, cli/cppcheckexecutor.h, cli/main.cpp, cli/threadexecutor.cpp, cli/threadexecutor.h, lib/check.h, lib/checkautovariables.cpp, lib/checkautovariables.h, lib/checkbufferoverrun.cpp, lib/checkbufferoverrun.h, lib/checkclass.cpp, lib/checkclass.h, lib/checkdangerousfunctions.cpp, lib/checkdangerousfunctions.h, lib/checkexceptionsafety.cpp, lib/checkexceptionsafety.h, lib/checkheaders.cpp, lib/checkheaders.h, lib/checkmemoryleak.cpp, lib/checkmemoryleak.h, lib/checkother.cpp, lib/checkother.h, lib/checkstl.cpp, lib/checkstl.h, lib/checkunusedfunctions.cpp, lib/checkunusedfunctions.h, lib/classinfo.h, lib/cppcheck.cpp, lib/cppcheck.h, lib/cppcheck.rc, lib/errorlogger.cpp, lib/errorlogger.h, lib/filelister.cpp, lib/filelister.h, lib/mathlib.cpp, lib/mathlib.h, lib/preprocessor.cpp, lib/preprocessor.h, lib/resource.h, lib/settings.cpp, lib/settings.h, lib/src.pri, lib/src.pro, lib/token.cpp, lib/token.h, lib/tokenize.cpp, lib/tokenize.h, runastyle, runastyle.bat, src/check.h, src/checkautovariables.cpp, src/checkautovariables.h, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkexceptionsafety.cpp, src/checkexceptionsafety.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/checkstl.cpp, src/checkstl.h, src/checkunusedfunctions.cpp, src/checkunusedfunctions.h, src/classinfo.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheck.rc, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/mathlib.cpp, src/mathlib.h, src/preprocessor.cpp, src/preprocessor.h, src/resource.h, src/settings.cpp, src/settings.h, src/src.pri, src/src.pro, src/threadexecutor.cpp, src/threadexecutor.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testexceptionsafety.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp: refactoring the folder structure 2009-10-25 Daniel Marjamäki * Makefile: Makefile: Updated for the release 2009-10-25 Daniel Marjamäki * Changelog: Changelog: updated the Changelog 2009-10-25 Daniel Marjamäki * createrelease, src/cppcheck.cpp, src/main.cpp, win_installer/cppcheck.iss, win_installer/cppcheck.wxs: updated version to 1.38 2009-10-24 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #253 (MemoryLeakInClass: False positive when memory is released in function, which is called from destructor) 2009-10-24 Daniel Marjamäki * src/checkunusedfunctions.cpp: don't report that the function WinMain is unused 2009-10-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Added and fixed testcase TestMemleakInClass::class13 2009-10-22 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #851 (Tokenizer: sizeof(*a) returns incorrect result) 2009-10-22 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #428 (Memory leak not detected with class) 2009-10-21 Daniel * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #844 (Tokenizer: Simplify 'sizeof *ptr' correctly) 2009-10-21 Daniel * src/checkstl.cpp, src/checkstl.h: Fixed #830 (id 'pushback' used twice) 2009-10-21 Daniel * cppcheck.pro: Removed toplevel qmake pro file that doesn't work 2009-10-21 Daniel * cppcheck.geany: removed geany project file 2009-10-20 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #767 (Tokenizer: Known variable variable not simplified) http://sourceforge.net/apps/trac/cppcheck/ticket/767 2009-10-20 Daniel * src/checkother.cpp, test/testother.cpp: Fixed #839 (False positive: possible null pointer dereference after new) 2009-10-20 Reijo Tomperi * src/checkbufferoverrun.cpp: Minor refactoring. 2009-10-20 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Improved countSprintfLength() to detect more errors with %d. Fixed some errors from test cases. Added more test cases. 2009-10-19 Daniel Marjamäki * Makefile, src/checkexceptionsafety.cpp, src/checkexceptionsafety.h, test/testexceptionsafety.cpp: Fixed by #828 (Exception Safety: No throwing in destructors) 2009-10-19 Daniel Marjamäki * src/checkclass.cpp: David Binderman: Remove dead variable 2009-10-19 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: Null pointers: Detect code where the assignment is conditional 2009-10-18 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: STL: checking that containers are matching 2009-10-18 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #827 (Tokenizer: sizeof is incorrectly simplified) 2009-10-18 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #449 (false postive:: resource leak when using errno) 2009-10-18 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #826 (False positive: sprintf with "f%s") http://sourceforge.net/apps/trac/cppcheck/ticket/826 2009-10-18 Reijo Tomperi * src/check.h, src/cppcheck.cpp, src/tokenize.cpp, src/tokenize.h: Fix #825 (Error with id syntaxError not in list printed with --errorlist) http://sourceforge.net/apps/trac/cppcheck/ticket/825 2009-10-17 Reijo Tomperi * src/checkbufferoverrun.cpp: Fix segmentation fault with --errorlist 2009-10-17 Daniel Marjamäki * src/checkother.cpp, test/testunusedvar.cpp: unused struct member: bail out when casting 2009-10-17 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Pointer Aliasing: Handle pointer aliasing through the Tokenizer::simplifyKnownVariables 2009-10-17 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testunusedvar.cpp: Unused struct members: bail out upon casting 2009-10-17 Daniel Marjamäki * gui/mainwindow.cpp, src/cppcheck.cpp, src/cppcheck.h: fixed compiler error when building gui 2009-10-17 Daniel Marjamäki * src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp: Fixed #824 (Exit code of cppcheck) 2009-10-15 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: stl: after vector::insert, iterators may become invalid 2009-10-15 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #823 (Buffer overrun with memcpy) 2009-10-15 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h: fixed doxygen warning messages 2009-10-14 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #821 (Preprocessor: Wrong stringification in macros) 2009-10-14 Daniel Marjamäki * src/cppcheck.cpp: Fixed #820 (Borland C++: Compiler errors because of time_t) 2009-10-14 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Buffer overrun errors behind function call should be possible errors. 2009-10-13 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Move buffer overrun errors behind --all Fix one possible error issue with arrayindexoutofbounds Make sure that possible errors are not shown without --all 2009-10-13 Reijo Tomperi * : commit 4036dd5effb90957b2b9b7ffb861344215757953 Author: Reijo Tomperi Date: Tue Oct 13 22:39:51 2009 +0300 2009-10-13 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: stl: better checking for invalid iterator after push_back 2009-10-13 Reijo Tomperi * src/settings.cpp, src/settings.h: Fix #815 (rev. 47e9d1: compilation error) http://sourceforge.net/apps/trac/cppcheck/ticket/815 2009-10-13 Reijo Tomperi * src/cppcheck.cpp: Undocumented --showtime option should now work on other platforms also. Improved --showtime to give more information. 2009-10-13 Reijo Tomperi * gui/mainwindow.cpp, gui/threadhandler.cpp, gui/threadhandler.h: Fix #455 (Recheck is enabled when no previous results available) http://sourceforge.net/apps/trac/cppcheck/ticket/455 2009-10-12 Daniel Marjamäki * : commit ed3860a0a74ffcd325d0380130de83e703f82659 Author: Daniel Marjamäki Date: Mon Oct 12 21:36:28 2009 +0200 2009-10-12 Reijo Tomperi * readme.txt: Fix #814 (Improvements for readme.txt) http://sourceforge.net/apps/trac/cppcheck/ticket/814 2009-10-11 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #812 (False positive: sprintf with "%.4s" with --all) http://sourceforge.net/apps/trac/cppcheck/ticket/812 2009-10-11 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #694 (False (possible error) Buffer overrun with %-1s) ashim2009 did most of the work http://sourceforge.net/apps/trac/cppcheck/ticket/694 2009-10-11 Daniel Marjamäki * webreport.sh: script for creating web content 2009-10-11 Reijo Tomperi * src/checkother.cpp, src/checkother.h: Refactoring: Split null pointer check into 4 smaller functions. 2009-10-11 Reijo Tomperi * src/checkother.cpp, test/testdivision.cpp: Fix #810 (false positive: Division with signed and unsigned operators) http://sourceforge.net/apps/trac/cppcheck/ticket/810 2009-10-11 Reijo Tomperi * src/tokenize.cpp: Getting rid of warning C4267: 'return' : conversion from 'size_t' to 'unsigned int' 2009-10-11 Reijo Tomperi * src/preprocessor.cpp: Getting rid of compiler warning: C4310: cast truncates constant value 2009-10-11 Daniel Marjamäki * win_installer/build.proj, win_installer/build1.bat, win_installer/build2.bat: win_installer: Added build scripts 2009-10-11 Daniel Marjamäki * win_installer/gui.wxs, win_installer/productInfo.wxi: win_installer: minor tweaks 2009-10-10 Daniel Marjamäki * htdocs/build.bat: a simple build script for building devinfo.html 2009-10-10 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix #808 (Segfault in Preprocessor) http://sourceforge.net/apps/trac/cppcheck/ticket/808 2009-10-10 Daniel Marjamäki * : commit d2e2b1d9feb1e826c7118e1c8c3f85ae89895e38 Author: Daniel Marjamäki Date: Sat Oct 10 22:10:33 2009 +0200 2009-10-10 Reijo Tomperi * src/preprocessor.cpp: Fix compiler warning warning C4512: 'PreprocessorMacro' : assignment operator could not be generated 2009-10-10 Reijo Tomperi * src/preprocessor.cpp: Get rid of compiler warning warning C4127: conditional expression is constant 2009-10-10 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h: Get rid of a compiler warning. conversion from 'size_t' to 'int', possible loss of data 2009-10-10 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #809 (Tokenizer: don't replace sizeof() of unknown type to zero) http://sourceforge.net/apps/trac/cppcheck/ticket/809 2009-10-10 Daniel Marjamäki * test/testtokenize.cpp: Added testcase for #807 (cppcheck crashes scanning ruby 1.9.1) 2009-10-10 Daniel Marjamäki * src/preprocessor.cpp: minor refactoring 2009-10-10 Daniel Marjamäki * src/checkbufferoverrun.cpp: Borland C++: Fixed compiler errors 2009-10-09 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fixed #806 (cppcheck crashes scanning openssl) 2009-10-09 Daniel Marjamäki * src/tokenize.cpp: jonas054: fixed #807 (cppcheck crashes scanning ruby 1.9.1) 2009-10-08 Daniel Marjamäki * src/checkmemoryleak.cpp: memory leaks: minor cleanups 2009-10-08 Daniel Marjamäki * src/checkmemoryleak.cpp: optimisation: made the memory leaks checking faster 2009-10-08 Daniel Marjamäki * src/cppcheck.cpp: optimisation: removed duplicate call of Tokenizer::setVarId 2009-10-08 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp, src/settings.cpp, src/settings.h: Fix #674 (Feature request: error filtering) --suppressions argument added to CLI http://sourceforge.net/apps/trac/cppcheck/ticket/674 2009-10-08 Reijo Tomperi * test/testbufferoverrun.cpp: More test cases for sprintf counter 2009-10-08 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: sprintf counter improvements 2009-10-08 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #802 (possible null pointer dereference reported for reference) http://sourceforge.net/apps/trac/cppcheck/ticket/802 2009-10-07 Reijo Tomperi * src/checkstl.cpp: Use var id instead of var name in check stl. 2009-10-07 Reijo Tomperi * src/checkstl.cpp: Use varid instead of varname in stl check. 2009-10-07 Reijo Tomperi * src/checkother.cpp, src/checkstl.cpp, test/testother.cpp, test/teststl.cpp: Optimize speed and fix one false positive with stl checks. 2009-10-07 Reijo Tomperi * test/testbufferoverrun.cpp: Added more test cases for sprintf counter 2009-10-07 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Ashim Kapoor: updated the counter (#694) 2009-10-07 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: Refactoring: Moved some code into a new function. Renamed count->countSprintfLength. Added code to collect sprintf parameters. Added a few TODO test cases. 2009-10-07 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #801 (Tokenizer: Simplify sizeof for function parameters) http://sourceforge.net/apps/trac/cppcheck/ticket/801 2009-10-07 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #487 (Tokenizer: Simplify sizeof for string array and string pointer) http://sourceforge.net/apps/trac/cppcheck/ticket/487 2009-10-07 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkmemoryleak.cpp, src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Refactored sizeof simplification and fixed one TODO assert. 2009-10-07 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Detect referenced by value errors for std::map also. 2009-10-06 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #388 (resource leak not detected, allocation through function call) http://sourceforge.net/apps/trac/cppcheck/ticket/388 2009-10-06 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #796 (segmentation fault while scanning) http://sourceforge.net/apps/trac/cppcheck/ticket/796 2009-10-06 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: don't write errors for static member variables 2009-10-06 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: Fix #797 (false positive: variable scope when using function call) 2009-10-06 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #575 (Array index out of bounds check: get address of one-past-the-end array is legal) http://sourceforge.net/apps/trac/cppcheck/ticket/575 2009-10-06 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #580 (double free not found) http://sourceforge.net/apps/trac/cppcheck/ticket/580 2009-10-06 Reijo Tomperi * test/testsimplifytokens.cpp, test/testtokenize.cpp: Moved some test cases from testtokenize into testsimplifytokens and added one TODO case. 2009-10-06 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix #795 (Preprocessor: Incorrect handling of #if (A) || (B)) http://sourceforge.net/apps/trac/cppcheck/ticket/795 2009-10-06 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #765 (divsion by zero not detected in std::cout stream) http://sourceforge.net/apps/trac/cppcheck/ticket/765 2009-10-05 Reijo Tomperi * src/preprocessor.cpp: Removed variable that wasn't used. 2009-10-05 Reijo Tomperi * src/preprocessor.cpp: Replace substr() with compare() to speed up preprocessing. See #762 (version 1.37 of cppcheck runs extremely slowly on windows) http://sourceforge.net/apps/trac/cppcheck/ticket/762 2009-10-05 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #794 (Floating point exception on CheckBufferOverrun) http://sourceforge.net/apps/trac/cppcheck/ticket/794 2009-10-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #365 (Improve simplifyQuestionMark() in tokenize.cpp) http://sourceforge.net/apps/trac/cppcheck/ticket/365 2009-10-05 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h: Refactoring: Remove findClosing(). It is replaced by Token::link(). 2009-10-05 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #771 (False positive. Null pointer dereference in a switch case) http://sourceforge.net/apps/trac/cppcheck/ticket/771 2009-10-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix simplifyRedundantParanthesis() to work after '}' 2009-10-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #776 (Tokenizer: remove useless brackets around variable assignment) http://sourceforge.net/apps/trac/cppcheck/ticket/776 2009-10-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #778 (Tokenizer: impove simplification inside if()) http://sourceforge.net/apps/trac/cppcheck/ticket/778 2009-10-05 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #793 (Improve passedByValue check) http://sourceforge.net/apps/trac/cppcheck/ticket/793 2009-10-05 Reijo Tomperi * generate_coverage_report: Better cleanup for coverage script. 2009-10-05 Reijo Tomperi * generate_coverage_report: Add script generate_coverage_report for generating test coverage report using gcov and lcov 2009-10-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #777 (Tokenizer: double casting simplified incorrectly) http://sourceforge.net/apps/trac/cppcheck/ticket/777 2009-10-04 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #784 (Tokenizer: Simplify 2[a] -> a[2]) http://sourceforge.net/apps/trac/cppcheck/ticket/784 2009-10-04 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #789 (false positive: resource leak reported when using for loop) 2009-10-04 Daniel Marjamäki * src/checkmemoryleak.cpp: Fixed #786 (memleak: segmentation fault for 'if TRACE_ON(x)') 2009-10-04 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Minor fixes (#772) 2009-10-04 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #785 (False positive: resource leak of extern FILE*) 2009-10-04 Daniel Marjamäki * src/checkother.h: doc: fixed linebreak in previous commit 6aea2faacd 2009-10-04 Daniel Marjamäki * src/checkother.h: doc: refactoring of the docs for CheckOther 2009-10-04 Daniel Marjamäki * src/checkother.cpp, src/checkother.h: Removed CheckOther::warningIf 2009-10-04 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #727 (False positive: Resource leak when release is done inside function call) 2009-10-04 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h: Fixed #783 (Refactoring: autoVariables error message is hard coded in 3 locations) http://sourceforge.net/apps/trac/cppcheck/ticket/783 2009-10-04 Daniel Marjamäki * src/tokenize.cpp: astyle formatting 2009-10-04 Slava Semushin * test/testother.cpp: Fixed #782 (Checks are missing test cases) http://sourceforge.net/apps/trac/cppcheck/ticket/782 2009-10-04 Slava Semushin * src/preprocessor.h: src/preprocessor.h: fixed comment. removeParantheses() doesn't throws exception. Correction for 1a48f869c84018d73fd63bf59263224b019a5997 commit. No code change. 2009-10-04 Daniel Marjamäki * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: use '<' comparisons instead of '>' (#610) 2009-10-04 Daniel Marjamäki * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fixed #772 (Preprocessor: #if(A) is not seen equal to #if A) 2009-10-03 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #733 (New check: locking & unlocking mutex and semaphore variables) 2009-10-03 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #780 (Tokenizer: replace typedef for pointers to struct) http://sourceforge.net/apps/trac/cppcheck/ticket/780 2009-10-03 Slava Semushin * src/token.cpp: Token::Match(): made message about bug more verbose. 2009-10-03 Slava Semushin * src/checkbufferoverrun.cpp: Fixed #775 (###### If you see this, there is a bug ###### Token::Match() - varid was 0) http://sourceforge.net/apps/trac/cppcheck/ticket/775 2009-10-03 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyVarDecl(): join 2 conditions. No functional change. 2009-10-03 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #770 (Tokenizer: Var id not set for static variables in some cases) http://sourceforge.net/apps/trac/cppcheck/ticket/770 2009-10-03 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/tokenize.cpp: Borland C++: Fixed compiler errors 2009-10-02 Reijo Tomperi * src/preprocessor.cpp: Attempt to speed up preprocessing on macro-in-macro situations. See #762 (version 1.37 of cppcheck runs extremely slowly on windows) http://sourceforge.net/apps/trac/cppcheck/ticket/762 2009-10-02 Reijo Tomperi * test/testtokenize.cpp: TODO test cases TestTokenizer::vardec_static added 2009-10-02 Reijo Tomperi * src/tokenize.cpp: Abort comma simplification when ", %num%" is detected. This increases speed a lot in some rare situations. 2009-10-01 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: refactoring unit tests 2009-10-01 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed #679 (False positive: Unused private function produced by exception specification) 2009-10-01 Daniel Marjamäki * gui/application.ui: eliedebrauwer: fix typo (#755) 2009-10-01 Daniel Marjamäki * gui/cppcheck_nl.ts: eliedebrauwer: dutch translation (#756) 2009-10-01 Daniel Marjamäki * gui/gui.pro, gui/translationhandler.cpp: eliedebrauwer: dutch translation (#756) 2009-10-01 Reijo Tomperi * man/cppcheck.1.xml: Minor fix to man page 2009-10-01 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #421 (Memory leak not found when typeid() is used.) http://sourceforge.net/apps/trac/cppcheck/ticket/421 2009-10-01 Reijo Tomperi * src/checkbufferoverrun.cpp: Trivial refactoring 2009-10-01 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #741 (False positive: Buffer overrun with -a when index increased in multiple locations) http://sourceforge.net/apps/trac/cppcheck/ticket/741 2009-10-01 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fix #419 (missleading buffer overrun) http://sourceforge.net/apps/trac/cppcheck/ticket/419 2009-10-01 Reijo Tomperi * src/tokenize.cpp: Removed dead code created by previous commit 2009-10-01 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #763 (Tokenizer: Goto incorrectly simplified) http://sourceforge.net/apps/trac/cppcheck/ticket/763 2009-09-30 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: fixed TODO_ASSERT_EQUALS 2009-09-30 Reijo Tomperi * src/tokenize.cpp, test/testmemleak.cpp, test/testother.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fix #745 (false positive: possible null pointer dereference , while) http://sourceforge.net/apps/trac/cppcheck/ticket/745 2009-09-30 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #744 (False positive: (possible error) Array index out of bounds) http://sourceforge.net/apps/trac/cppcheck/ticket/744 2009-09-30 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #759 (Tokenizer: Incorrect var id when two variables with same name) http://sourceforge.net/apps/trac/cppcheck/ticket/759 2009-09-30 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fix #761 (Tokenizer: typedef inside class is incorrectly simplified) http://sourceforge.net/apps/trac/cppcheck/ticket/761 2009-09-30 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #760 (Tokenizer: Goto not simplified) http://sourceforge.net/apps/trac/cppcheck/ticket/760 2009-09-30 Reijo Tomperi * test/testsimplifytokens.cpp: Added TODO test cases: simplifyTypedef, simplifyTypedef2, simplifyTypedef3 2009-09-30 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #750 (cppcheck wants variable outside do-loop to be only inside loop) http://sourceforge.net/apps/trac/cppcheck/ticket/750 Fix #758 (False positive on variable scope with boost foreach) http://sourceforge.net/apps/trac/cppcheck/ticket/758 2009-09-29 Reijo Tomperi * src/tokenize.cpp: Changed simplifyConditionOperator() to create also {} around if and else Fixed validate() in tokenizer. 2009-09-29 Daniel Marjamäki * test/testbufferoverrun.cpp: added a TODO_ASSERT_EQUALS for the counter 2009-09-29 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp, test/testconstructors.cpp: Fix #757 (Change message: (style) The class 'KClass' has no constructor) http://sourceforge.net/apps/trac/cppcheck/ticket/757 2009-09-29 Slava Semushin * src/tokenize.cpp: Tokenizer::tokenize(): removed useless const_cast. No functional change. 2009-09-29 Reijo Tomperi * test/testbufferoverrun.cpp: TODO test case for count() added 2009-09-29 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Ashim Kapoor: deal with backspace better (#694) 2009-09-29 Reijo Tomperi * test/testtokenize.cpp: Fix comment in test case 2009-09-29 Reijo Tomperi * src/checkother.h, test/testother.cpp: Check nullpointer check is now executed without --style flag Added TODO test case for nullpointer check 2009-09-29 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #751 (if-condition considered redundant even with else-branch) http://sourceforge.net/apps/trac/cppcheck/ticket/751 Fix also other issue with if(a.b) delete c.b; Fix also other issue with if(a.b.c) delete a.b.c; 2009-09-28 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #746 (False positive, Memory leak when goto is used) 2009-09-28 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed a TODO_ASSERT_EQUALS for a false positive 2009-09-28 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp: Fix #739 (Pre-defined output format templates) http://sourceforge.net/apps/trac/cppcheck/ticket/739 Patch from lanurmi. Slightly modified by me. 2009-09-28 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fix #754 (Tokenizer: transform modifier "signed" to "int") http://sourceforge.net/apps/trac/cppcheck/ticket/754 Also fix int unsigned -> unsigned int 2009-09-28 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #753 (Tokenizer: don't simplify variables inside do {} while loop) http://sourceforge.net/apps/trac/cppcheck/ticket/753 2009-09-27 Daniel Marjamäki * test/testbufferoverrun.cpp: Refactoring the unit testing of format strings 2009-09-27 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #728 (False positive, resource leak, when released in a loop) 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp: src/checkbufferoverrun.cpp: fixed regression. test suite was broken after my e8c83613e4bcc95b7c3d91d5c71f4e2363a5cdf3 commit. 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #740 (False positive, buffer overrun with --all) Regression since 07f41f4563fc138b527af6ce153433a661250020 commit. http://sourceforge.net/apps/trac/cppcheck/ticket/740 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp: src/checkbufferoverrun.cpp: removed useless semicolon. No functional change. 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #738 (False Buffer overrun with -a when i is increased by more than 1 inside loop body) http://sourceforge.net/apps/trac/cppcheck/ticket/738 2009-09-27 Reijo Tomperi * cppcheck.cbp, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkthread.cpp, gui/checkthread.h, gui/common.h, gui/csvreport.cpp, gui/csvreport.h, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/projectfile.cpp, gui/projectfile.h, gui/report.cpp, gui/report.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, gui/translationhandler.cpp, gui/translationhandler.h, gui/txtreport.cpp, gui/txtreport.h, gui/xmlreport.cpp, gui/xmlreport.h, src/check.h, src/checkautovariables.cpp, src/checkautovariables.h, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/checkstl.cpp, src/checkstl.h, src/checkunusedfunctions.cpp, src/checkunusedfunctions.h, src/classinfo.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/mathlib.cpp, src/mathlib.h, src/preprocessor.cpp, src/preprocessor.h, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, src/threadexecutor.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedfunctions.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp: Fix GPL comments in all files. ">." was missing from the end. 2009-09-27 Reijo Tomperi * src/cppcheck.cpp: Remove redundant comparison 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #714 (False Buffer overrun with -a when i is increased by more than 1 in a loop) http://sourceforge.net/apps/trac/cppcheck/ticket/714 2009-09-27 Reijo Tomperi * src/mathlib.cpp, src/mathlib.h, src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fix #720 (String length for strings like this "\x61" is calculated wrong) http://sourceforge.net/apps/trac/cppcheck/ticket/720 2009-09-27 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Detects invalid iterator inside for() when postfix form of increment used. 2009-09-27 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Fixed #735 (Detects invalid iterator after push_back() when iterator declared inside for()) http://sourceforge.net/apps/trac/cppcheck/ticket/735 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Detect buffer overruns when ?: use as sprintf() argument. 2009-09-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #729 (False positive: Buffer overrun when ? is used to select parameter) http://sourceforge.net/apps/trac/cppcheck/ticket/729 2009-09-26 Slava Semushin * src/token.cpp, test/testbufferoverrun.cpp, test/testtoken.cpp: Fixed #731 (False positive, strcpy copying a buffer with a null character) http://sourceforge.net/apps/trac/cppcheck/ticket/731 2009-09-26 Slava Semushin * src/checkbufferoverrun.cpp: CheckBufferOverrun::count(): commented out debug message. Added in 3da779725db1de541fd5e0c14468b3b09e6234a6 commit. 2009-09-26 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Ashim Kapoor: handle %i,%f,%d,%x,%X better (#694) 2009-09-26 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #732 (Tokenizer: Incorrect simplification) Regression since 58a9e05697b4585883bbc00153d1584d9247190f commit. http://sourceforge.net/apps/trac/cppcheck/ticket/732 2009-09-26 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: Fixed #710 (False positive: invalid vector iterator after push_back) 2009-09-26 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #718 (False positive, resource leak when break in a loop before exit) 2009-09-25 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix #730 (False positive, buffer overrun with strncpy) http://sourceforge.net/apps/trac/cppcheck/ticket/730 2009-09-25 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: Added a TODO assertion for a false positive 2009-09-25 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #678 (False positive: Unused private function produced by inner class) 2009-09-25 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: Ashim Kapoor: Added function that returns minimum size of format strings (#694) 2009-09-24 Reijo Tomperi * : commit 16e55f4f8908acbc47b76ad7f89c73df2dabd8fe Author: Reijo Tomperi Date: Thu Sep 24 23:46:08 2009 +0300 2009-09-24 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: fixed a TODO_ASSERT_EQUALS 2009-09-24 Daniel Marjamäki * Makefile: Revert "Makefile: made it ready for release" This reverts commit 67d695437430e93a788a378cb73611ff49fb7229. 2009-09-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #700 (False positive: Memory leak) 2009-09-23 Daniel Marjamäki * src/checkmemoryleak.h, src/tokenize.h, testrunner.vcproj: Replaced UNIT_TESTING ifdef with _MSC_VER 2009-09-23 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #713 (Tokenizer: Simplify 0L) http://sourceforge.net/apps/trac/cppcheck/ticket/713 Use MathLib to handle other variations of 0. 2009-09-23 Reijo Tomperi * src/cppcheckexecutor.h: Changed some CppcheckExecutor functions and variables protected and virtual. 2009-09-23 Daniel Marjamäki * win_installer/gui.wxs: added wix file for gui installation 2009-09-23 Reijo Tomperi * readme.txt: cross compiling info added to readme.txt 2009-09-23 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer::simplifySizeof(): use Token::getStrLength(). Fixed wrong result when string contains escaped quotes. Correction for 0e729fedc070962d1023d4cd9ad9bdaa8e0eee30 commit. 2009-09-23 Daniel Marjamäki * win_installer/cppcheck.wxs: Windows Installer: A simple installer without the gui 2009-09-23 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #713 (Tokenizer: Simplify 0L) http://sourceforge.net/apps/trac/cppcheck/ticket/713 2009-09-22 Daniel Marjamäki * Changelog: updated the Changelog 2009-09-22 Daniel Marjamäki * Makefile: Makefile: made it ready for release 2009-09-22 Daniel Marjamäki * createrelease, src/cppcheck.cpp, src/main.cpp, win_installer/cppcheck.iss: updated version to 1.37 2009-09-22 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #716 (segmentation fault: sizeof string) 2009-09-22 Slava Semushin * test/testdivision.cpp: test/testdivision.cpp: fixed syntax errors in TestDivision::division8 Before testrunner complains: ### Unlogged error at Tokenizer::syntaxError: Invalid number of character ({) ### Unlogged error at Tokenizer::syntaxError: Invalid number of character ({) ### Unlogged error at Tokenizer::syntaxError: Invalid number of character ({) Broken since 36c7108a2821c477cf4d5eb9289281de8cd285ce commit where test case was added. 2009-09-22 Slava Semushin * src/tokenize.cpp: Tokenizer::createLinks(): fixed typo in comment. Since commit 1c01dd64f353d6872ec4b04867393aa283423445. 2009-09-22 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #715 (False positive: Resource leak when exit() after if loop) 2009-09-22 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fixed #702 (If you see this, there is a bug - varid was 0) 2009-09-21 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix #706 (false positive: invalid number of character ((), can't process file) http://sourceforge.net/apps/trac/cppcheck/ticket/706 2009-09-20 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #701 (false positive: Invalid deallocation) http://sourceforge.net/apps/trac/cppcheck/ticket/701 2009-09-20 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #703 (Tokenizer: Create links for []) http://sourceforge.net/apps/trac/cppcheck/ticket/703 2009-09-20 Reijo Tomperi * src/checkbufferoverrun.cpp: astyle fix 2009-09-20 Daniel Marjamäki * Changelog: Changelog 2009-09-20 Daniel Marjamäki * createrelease, src/cppcheck.cpp, src/main.cpp, win_installer/cppcheck.iss, win_installer/cppcheck.wxs: Version: 1.36 2009-09-20 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Additional fix for better simplifying array declaration. Pointed out by hyd_danmar@ in IRC. Addressed to #696 2009-09-20 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #690 (False positive: (possible error) Buffer overrun) http://sourceforge.net/apps/trac/cppcheck/ticket/690 2009-09-20 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #696 (Tokenizer: Simplify array declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/696 2009-09-20 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix #667 (Preprocessor does not handle macro inside macro correctly) http://sourceforge.net/apps/trac/cppcheck/ticket/667 2009-09-19 Reijo Tomperi * test/testmemleak.cpp, test/testtokenize.cpp: astyle fix 2009-09-19 Daniel Marjamäki * src/checkother.h, src/tokenize.cpp, test/testother.cpp: Fixed #673 (False positive: null pointer dereference when dynamic cast is used) 2009-09-19 Slava Semushin * src/token.cpp, src/token.h: Token::stringifyList(): removed const modifier from parameter. const useless in this case because argument passed by value. No functional change. 2009-09-19 Slava Semushin * test/testtokenize.cpp: test/testtokenize.cpp: refactoring code. - introduce and use simplifyKnownVariables() function - don't append leading space to result string with tokens No functional change. 2009-09-19 Slava Semushin * src/preprocessor.h: Preprocessor: document that removeComments() may throws exception. No code change. 2009-09-19 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Fixed #688 (False positive in error category when --all is used) 2009-09-18 Vesa Pikki * gui/checkthread.cpp: Fixed ticket#687. Thread state is now initialized to "Ready". 2009-09-18 Daniel Marjamäki * src/preprocessor.cpp: Preprocessor: Skip BOM 2009-09-17 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed #676 (The scope of variable can actually not be limited) 2009-09-16 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #677 (False positive: Unused private function produced by class member initialization) 2009-09-16 Daniel Marjamäki * src/checkclass.cpp, test/testclass.cpp: Fixed by #675 (false positive: when operator is overloaded) 2009-09-15 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #684 (Tokenizer: (65536*72/100) incorrectly simplified to zero) http://sourceforge.net/apps/trac/cppcheck/ticket/684 2009-09-15 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #671 (False positive. Leak when loop is before exit) 2009-09-15 Daniel Marjamäki * src/checkother.cpp, test/testdivision.cpp: Fixed #669 (possible style without --all + false positives) 2009-09-14 Reijo Tomperi * test/testpreprocessor.cpp: TODO test case for preprocessor macro handling 2009-09-14 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #658 (Assertion 'begin != __null' failed) 2009-09-14 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #670 (Tokenizer: Simplify '\0' into 0) http://sourceforge.net/apps/trac/cppcheck/ticket/670 2009-09-13 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h: Tokenizer: Added a simple validation function that we can use during debugging 2009-09-13 Daniel Marjamäki * src/tokenize.cpp: simplifyTemplates: assert that braces and parantheses are handled correctly 2009-09-13 Slava Semushin * test/testsimplifytokens.cpp: TestSimplifyTokens::sizeof_(): don't append leading space. No functional change. 2009-09-13 Slava Semushin * src/token.cpp: Token::getStrLength(): fixed errors from valgrind. Correction for 13b2edd61e70d4d886e0cf5ba587aa8b2f9f2d3e commit. 2009-09-13 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #645 (Tokenizer::simplifyCasts() breaks link() if casts function) http://sourceforge.net/apps/trac/cppcheck/ticket/645 2009-09-13 Slava Semushin * test/testtoken.cpp: TestTOKEN::getStrLength(): allocate tok variable in stack (instead of in heap) No functional change. 2009-09-13 Slava Semushin * src/token.cpp: Token::getStrLength(): use Token::strValue(). No functional change. 2009-09-13 Slava Semushin * src/token.cpp, src/token.h: Token::strValue(): added const modifier. Correction for 241f585d34cb6f645d112c5e0cc54fe852c21c3b commit. No functional change. 2009-09-13 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyMathFunctions(): change return type to void. Correction for 241f585d34cb6f645d112c5e0cc54fe852c21c3b commit. No functional change. 2009-09-13 Daniel Marjamäki * src/check.h, src/checkbufferoverrun.cpp, src/checkmemoryleak.h, src/cppcheck.cpp, src/preprocessor.cpp, src/threadexecutor.h, src/tokenize.cpp, src/tokenize.h: Fixed #478 (Warnings in Visual Studio build with -W4) 2009-09-13 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: added test assertion. simplify ';alloc;exit;' to ';exit;' 2009-09-12 Reijo Tomperi * src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp, test/testtoken.cpp: Fix #594 (division by zero not detected when using atol or atof) http://sourceforge.net/apps/trac/cppcheck/ticket/594 Simplify atol("0") into 0 (and other atol() calls also) 2009-09-12 Reijo Tomperi * man/cppcheck.1.xml: Fix #662 (Command line option --append not documented) http://sourceforge.net/apps/trac/cppcheck/ticket/662 2009-09-12 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: minor refactorings 2009-09-12 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, test/testclass.cpp: Fixed #375 (new check: Detect when using 'this-x') 2009-09-12 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #518 (False positive for leaks when function from err()-family used) 2009-09-12 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #644 (Tokenizer::simplifyComma: Wrong simplification in cast) 2009-09-11 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: More Fixing of #635 (Preprocessor: remove 'asm(...)') 2009-09-11 Reijo Tomperi * src/mathlib.cpp, test/testmathlib.cpp: Fix ticket #632 (Mathlib isInt() identifies "330L" as not int) http://sourceforge.net/apps/trac/cppcheck/ticket/632 2009-09-11 Daniel Marjamäki * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Simple fix for #635 (preprocessor: remove 'asm(...)') 2009-09-10 Reijo Tomperi * src/checkmemoryleak.cpp, src/checkmemoryleak.h: Fixed some "is passed by value" errors from cppcheck source. 2009-09-10 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h: Fix #656 (Improve const-correctness) http://sourceforge.net/apps/trac/cppcheck/ticket/656 Applied slightly modified patch from elfring 2009-09-09 Reijo Tomperi * test/testsimplifytokens.cpp: New test case in TestSimplifyTokens::template_default_parameter 2009-09-08 Daniel Marjamäki * src/checkother.h: Fixed #650 ('possible style' pre-incrementing error shown without --all) 2009-09-08 Daniel Marjamäki * src/cppcheck.cpp, src/settings.cpp, src/settings.h: Settings: Added an 'append' command line flag that allows the user to provide extra information about functions. See ticket #260 2009-09-06 Reijo Tomperi * test/testsimplifytokens.cpp: astyle fix 2009-09-06 Slava Semushin * test/testsimplifytokens.cpp: Added test cases for #487. 2009-09-06 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Refactoring: move code for sizeof() simplification to method. Introduce and use Tokenizer::simplifySizeof() method. No functional change. 2009-09-06 Slava Semushin * src/tokenize.cpp: Tokenizer(simplifyNestedStrcat): correctly set line numbers for new tokens. Pointed out by aggro80@ in IRC. Thanks! 2009-09-06 Kimmo Varis * readme_gui.txt: Upate QT framework's URL to readme. 2009-09-06 Kimmo Varis * gui/readme.txt, readme_gui.txt: Move gui's readme to root directory to make it easier to find. 2009-09-06 Kimmo Varis * readme.txt: Wrap long line in readme.txt. 2009-09-06 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Templates: Scaled up the handling of default values for template parameters (#638) 2009-09-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix another issue related to #647 (Crash during tokenizing (wrong) K&R function declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/647 2009-09-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix #647 (Crash during tokenizing (wrong) K&R function declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/647 Thanks to undingen for providing a patch 2009-09-05 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/errorlogger.cpp, src/errorlogger.h, src/settings.h, test/testcppcheck.cpp: New command line argument added --template Fix ticket #462 (Allow using template to customize output format) http://sourceforge.net/apps/trac/cppcheck/ticket/462 2009-09-06 Slava Semushin * src/preprocessor.cpp: Fixed #585 (Preprocessor: Don't check the same configuration twice) http://sourceforge.net/apps/trac/cppcheck/ticket/585 2009-09-05 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testbufferoverrun.cpp, test/testsimplifytokens.cpp: Fixed #629 (Tokenizer: expand nested strcat() calls) http://sourceforge.net/apps/trac/cppcheck/ticket/629 2009-09-05 Daniel Marjamäki * : commit d9d2f53df6eb547432366937175af8f8b29c63a8 Author: Aleksey Palazhchenko Date: Fri Sep 4 22:59:25 2009 +0400 2009-09-04 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: Added a todo test case for the getcode function 2009-09-04 Aleksey Palazhchenko * test/test.pro: Fixes in test.pro 2009-09-03 Reijo Tomperi * : commit 74086740172d1d9dfdaf5501a5f22aa1f48d32a6 Author: Reijo Tomperi Date: Thu Sep 3 23:28:00 2009 +0300 2009-09-03 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: remove typename tokens 2009-09-03 Reijo Tomperi * src/filelister.cpp: Fix ticket #642 (txx (template implementation files) not recognized/checked.) http://sourceforge.net/apps/trac/cppcheck/ticket/642 2009-09-03 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: Quick fix for the problem with default value for a template argument 2009-09-02 Daniel Marjamäki * test/testsimplifytokens.cpp: Templates: Added todo testcase for handling default values for template arguments. Related with ticket #638 2009-09-02 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix ticket #637 (False positive, Using 'memset' on struct that contains a 'std::string') http://sourceforge.net/apps/trac/cppcheck/ticket/637 2009-09-02 Reijo Tomperi * test/testclass.cpp: Added few memset test cases 2009-09-01 Reijo Tomperi * src/checkother.cpp, src/mathlib.cpp, test/testmathlib.cpp, test/testother.cpp: Don't warn about division by zero if zero if floating point number. Fix bug from mathlib isInt() and add test case from which few are false positives 2009-09-01 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed a todo testcase to find more leaks 2009-09-01 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed todo testcases to find more memory leaks 2009-09-02 Slava Semushin * src/checkmemoryleak.cpp: CheckMemoryLeakInFunction: print simplified tokens only with --debug and --verbose. Suggested by aggro80@ and approved by hyd_danmar@ in IRC. 2009-09-02 Slava Semushin * src/tokenize.cpp: Tokenizer::syntaxError(): throw exception when debug enabled. This allows to stop test suite when first syntax error found. 2009-09-02 Slava Semushin * src/mathlib.cpp, src/token.cpp, src/tokenize.cpp: Print error messages to stderr (instead of stdout). 2009-09-02 Slava Semushin * test/testmemleak.cpp: test/testmemleak.cpp(dofindleak): provide settings object with debug enabled. This allows to print tokens when syntax error found in one of tests. 2009-09-01 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: fixed a todo testcase 2009-09-01 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: minor fix for testcase 2009-09-01 Slava Semushin * src/tokenize.cpp: Tokenizer::syntaxError: show details about unlogged syntax error. 2009-09-01 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Fixed #631 (False positive matching iterator which is dereferenced) http://sourceforge.net/apps/trac/cppcheck/ticket/631 2009-09-01 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix #630 (Division by zero check only looks at first character of divisor) http://sourceforge.net/apps/trac/cppcheck/ticket/630 Thanks to liam_routt for finding this and providing fix for it. 2009-08-31 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: Added a todo testcase 2009-08-31 Daniel Marjamäki * src/checkclass.cpp, src/tokenize.cpp, test/testclass.cpp: Borland C++: Don't warn about uninitialized variables that are declared in the __published section. These are auto-initialized 2009-08-30 Reijo Tomperi * test/testmemleak.cpp: astyle fix 2009-08-30 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Refactoring: Refactoring of the unit testing for the CheckMemoryLeakInFunction 2009-08-30 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix ticket #612 (Division by zero not detected when zero has type suffix) http://sourceforge.net/apps/trac/cppcheck/ticket/612 2009-08-30 Daniel Marjamäki * : commit c50f7787f90ecd44395f2fb1fae4f69ca3a37899 Author: Slava Semushin Date: Sun Aug 30 18:44:23 2009 +0700 2009-08-30 Aleksey Palazhchenko * src/src.pro: Fixes in src.pro 1) Binary shouldn't be in bundle (Mac OS X). 2) Binary doesn't use Qt at all. 2009-08-30 Slava Semushin * src/checkbufferoverrun.cpp: CheckBufferOverrun::checkScope(): use Token::getStrLength(). No functional change. 2009-08-30 Slava Semushin * src/token.cpp, src/token.h, test/testtoken.cpp: Token::getStrLength(): introduce new static method. No functional change. 2009-08-30 Slava Semushin * src/preprocessor.cpp: Preprocessor::getcfgs(): use std::list::unique() for removing duplicates. No functional change. 2009-08-30 Daniel Marjamäki * src/tokenize.cpp: Refactoring: Use the Token::link 2009-08-30 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #611 (Preprocessor: the configurations "A;B" and "B;A" are the same) http://sourceforge.net/apps/trac/cppcheck/ticket/611 2009-08-29 Reijo Tomperi * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testsimplifytokens.cpp: astyle fix 2009-08-30 Slava Semushin * src/tokenize.cpp: Tokenizer::setVarId(): simplify code a bit. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp: Tokenizer::setVarId(): use Token::link() instead of loop. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp: Tokenizer::setVarId(): simplify condition. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp: Tokenizer: don't call simplifyCalculations() twice. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyFunctionParameters(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyConditionOperator(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::elseif(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyDoWhileAddBraces(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyIfAddBraces(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyComma(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyIfNotNull(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyIfNot(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyIfAssign(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyVarDecl(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyCasts(): change return type to void. No functional change. 2009-08-30 Slava Semushin * src/tokenize.cpp, src/tokenize.h: Tokenizer::simplifyLogicalOperators(): change return type to void. No functional change. 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #615 (Memleak was detected in 1.32 but not in 1.33 and later) 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #414 (memory leak in if-else construct not detected) 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: improved the simplification of 'if* ;' 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed todo test case. reduce exit better 2009-08-29 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Tokenizer: enhance simplifyNot() and rename to simplifyLogicalOperators(). Don't replace "and" everything becuse it may be used as variable name. Better fix for #620 Corrections for commit eb05cf904df3b9b1e90de5dcc912817e83d422c8 2009-08-29 Slava Semushin * src/tokenize.cpp: Tokenizer(simplifyNot): replace "if" by "else if" and added braces. No functional change. 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp: memory leaks: fixed bug. return|else are not part of a variable declaration 2009-08-29 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #620 (Tokenizer: replace "and" by "&&") http://sourceforge.net/apps/trac/cppcheck/ticket/620 2009-08-29 Slava Semushin * src/tokenize.cpp: Tokenizer(simplifyIfAssign): fixed to link() just inserted tokens. Fixed segfault on samba sources. 2009-08-29 Slava Semushin * src/tokenize.cpp: Tokenizer(simplifyComma): join two if bodies to one. No functional change. 2009-08-29 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #618 (Tokenizer: Wrong handling of enum) http://sourceforge.net/apps/trac/cppcheck/ticket/618 2009-08-29 Slava Semushin * src/checkmemoryleak.cpp: CheckMemoryLeakInFunction(getcode): don't call Token::Match() if varid equals to zero. 2009-08-29 Slava Semushin * src/tokenize.cpp: Tokenizer: call createLinks() only once. Fixed simplifyIfAssign() and simplifyIfNot() to link() just inseted tokens. No functional change. 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: better handling of open/close 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: astyle 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #627 (False positive with --all, Resource leak with open()) 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: handling asprintf better 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Fixed two todo testcases (getcode handling of asprintf) 2009-08-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed a todo testcase 2009-08-28 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: Testing that asprintf is handled correctly 2009-08-28 Reijo Tomperi * src/token.cpp, src/tokenize.cpp: Fixed bug in Token::deleteThis and optimized createLinks() calls. 2009-08-28 Reijo Tomperi * src/checkmemoryleak.cpp, src/tokenize.cpp: astyle fix 2009-08-28 Daniel Marjamäki * test/testsimplifytokens.cpp: fixed failed assertions when running the testrunner 2009-08-28 danmar * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #625 (cppcheck dumps core on valid code) 2009-08-28 danmar * src/tokenize.cpp, test/testsimplifytokens.cpp, test/testsuite.h: Fixed #622 (Tokenizer: Calculations are wrong) 2009-08-28 danmar * src/filelister.cpp: Borland C++: Fixed problem in FileLister 2009-08-28 danmar * src/checkmemoryleak.cpp, src/mathlib.cpp: borland c++: fixed compiler errors 2009-08-28 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed #623 (False positive: possible null pointer dereference when using the ?: operator) 2009-08-27 Slava Semushin * src/tokenize.cpp: Fixed #616 (Tokenizer: simplifyTemplates() should link() all inserted brackets) This also fixed #619. http://sourceforge.net/apps/trac/cppcheck/ticket/616 http://sourceforge.net/apps/trac/cppcheck/ticket/619 2009-08-27 Slava Semushin * src/tokenize.cpp: Revert "Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp)" This reverts commit 89f96451742fcab458650581e01895acb7e1de07. This change not fully and properly fixes a problem but just work arround it. The root of problem is because Tokenizer::simplifyTemplates() inserts new tokens with brackets which not link()-ed. 2009-08-26 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix the last test case from ticket #613 (array members variables are not checked in constructor) http://sourceforge.net/apps/trac/cppcheck/ticket/613 2009-08-26 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: better handling of pragma asm and pragma endasm 2009-08-27 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #617 (False positive "buffer overrun" when sprintf() doesn't have optional parameters) http://sourceforge.net/apps/trac/cppcheck/ticket/617 2009-08-26 Daniel Marjamäki * test/testsimplifytokens.cpp: added testcase for the Tokenizer::simplifyGoto 2009-08-26 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #498 (Tokenizer: simplify 'goto') 2009-08-26 Slava Semushin * src/tokenize.cpp: Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp) http://sourceforge.net/apps/trac/cppcheck/ticket/616 2009-08-26 Reijo Tomperi * test/testclass.cpp: Fix sytax error in uninitVarArray(). This also causes the test to fail, so changing it as TODO. See http://sourceforge.net/apps/trac/cppcheck/ticket/613 2009-08-26 Reijo Tomperi * test/testmemleak.cpp: astyle fix 2009-08-25 Daniel Marjamäki * test/testmemleak.cpp: Refactoring the unit tests of TestMemleakInFunction 2009-08-26 Slava Semushin * src/checkmemoryleak.cpp: Fixed #614 (If you see this, there is a bug ###### Token::Match() - varid was 0) http://sourceforge.net/apps/trac/cppcheck/ticket/614 2009-08-26 Slava Semushin * src/checkmemoryleak.cpp, src/checkmemoryleak.h: src/checkmemoryleak.{h,cpp}: minor improvements. Corrections for commit 0d6b6e840dea7a09fa3d52b98f3148a12942e067 No functional change. 2009-08-26 Slava Semushin * src/checkmemoryleak.cpp, src/checkmemoryleak.h: Replace "const unsigned int" to "unsigned int" in methods parameters. No functional change. 2009-08-26 Slava Semushin * src/checkclass.cpp: src/checkclass.cpp: propagate Token::strAt(). No functional change. 2009-08-26 Slava Semushin * src/tokenize.cpp: Tokenizer(simplifyGoto): create links for inserted braces. 2009-08-25 Daniel Marjamäki * src/tokenize.cpp: fixed segmentation fault 2009-08-24 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testmemleak.cpp, test/testother.cpp, test/testsimplifytokens.cpp: Fixed #498 (Tokenizer: simplify 'goto') 2009-08-24 Daniel Marjamäki * test/testclass.cpp: TestClass: Added a testcase where a array member variable is initialized through strcpy 2009-08-23 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix ticket #613 (array members variables are not checked in constructor) http://sourceforge.net/apps/trac/cppcheck/ticket/613 Patch from micres 2009-08-23 Daniel Marjamäki * src/checkmemoryleak.cpp, src/token.h: astyle formatting 2009-08-23 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Refactoring the unit testing. Wrote special tests for CheckMemoryLeakInFunction::findleak 2009-08-23 Daniel Marjamäki * : Merge commit 'd0k/master' 2009-08-23 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #603 (Tokenizer: Incorrect simplification of < >) http://sourceforge.net/apps/trac/cppcheck/ticket/603 2009-08-23 Slava Semushin * src/checkother.cpp, test/testother.cpp: Fixed #581 (Wrong usage of div-function) http://sourceforge.net/apps/trac/cppcheck/ticket/581 2009-08-23 Slava Semushin * src/tokenize.cpp: Tokenize: minimize createLinks() calls. No functional change. 2009-08-22 Benjamin Kramer * src/token.cpp, src/token.h: Token: inline some functions 2009-08-22 Benjamin Kramer * src/checkmemoryleak.cpp, src/checkmemoryleak.h: Improve performance by using bsearch(3) instead of a std::set The function name list is already in memory so we can avoid copying it into a std::set if we sort the list alphabetically. This way no binary search tree has to be allocated. Before (best of 5 runs): ./testrunner > /dev/null 0,21s user 0,00s system 95% cpu 0,221 total After (best of 5 runs): ./testrunner > /dev/null 0,20s user 0,00s system 95% cpu 0,210 total 2009-08-22 Slava Semushin * test/testother.cpp: TestOther::varScope5: fixed syntax error in test case. Testrunner complains about "Unlogged error at Tokenizer::syntaxError" since 74bbe945f6a55c3eb9d125b1f16566b0f10c1479 commit. 2009-08-22 Slava Semushin * src/token.cpp, src/token.h, src/tokenize.cpp: Token::createMutualLinks(): introduce and use. No functional change. 2009-08-22 Slava Semushin * src/tokenize.cpp: Tokenizer: propagate Token::eraseTokens(). No functional change. 2009-08-22 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyTokenList(): call link() for just inserted tokens. 2009-08-22 Slava Semushin * src/tokenize.cpp: Refactoring: Use the MathLib::toString() to stringify a number. No functional change. 2009-08-22 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #507 (Preprocessor: Incorrect expanding of inner macros) 2009-08-22 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed #592 (Tokenizer: improve the tokenization of do .. while) http://sourceforge.net/apps/trac/cppcheck/ticket/592 2009-08-22 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fixed #608 (Tokenizer: simplifyKnownVariables doesn't handle 'while (--i)' correctly) 2009-08-22 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyIfAddBraces: use Token::link() instead of loop. No functional change. 2009-08-22 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #609 (Tokenizer: don't add {} after do-while();) http://sourceforge.net/apps/trac/cppcheck/ticket/609 2009-08-21 Daniel Marjamäki * src/checkother.cpp: Refactoring: Use the MathLib::toString to stringify a number 2009-08-21 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: Fixed #599 (False positive: null pointer dereference) 2009-08-21 Daniel Marjamäki * src/filelister.cpp: astyle formatting 2009-08-20 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #600 (Tokenizer: if(!(fclose(fd) == 0)) is simplified incorrectly) http://sourceforge.net/apps/trac/cppcheck/ticket/600 2009-08-20 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #598 (Preprocessor: Multiline comments add line change to wrong location) http://sourceforge.net/apps/trac/cppcheck/ticket/598 2009-08-19 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Memory leaks: Use varid instead of varname 2009-08-18 Kimmo Varis * : commit 85682ed4298352a69d0cd9658111b8c72d4e1b67 Author: Daniel Marjamäki Date: Tue Aug 18 20:49:08 2009 +0200 2009-08-18 Kimmo Varis * createrelease: List Windows resource file as file to update. 2009-08-18 Kimmo Varis * win_installer/readme.txt: Installer: update readme for latest changes. 2009-08-18 Kimmo Varis * win_installer/cppcheck.iss: Installer: Add Polish GUI translation file. 2009-08-18 Kimmo Varis * win_installer/cppcheck.iss: Installer: Pick cppcheck executable from correct directory. VS IDE builds the executable to Build/Release folder but QMake generated makefiles build to Src/Release. 2009-08-17 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkmemoryleak.cpp, src/checkother.cpp: Refactoring: Use the Token::link instead of loop 2009-08-17 Reijo Tomperi * src/mathlib.cpp: Fix ticket #597 (Compile error with Visual C++) http://sourceforge.net/apps/trac/cppcheck/ticket/597 2009-08-17 Kimmo Varis * gui/gui.pro, readme.txt, src/src.pro: Don't force debug builds in qmake project files. When creating makefiles with qmake one needs to give the target in command line. E.g. $ qmake -config debug or $ qmake -config release For Visual studio projects both targets are generated by just running the qmake command without switches. 2009-08-17 Kimmo Varis * gui/gui.pro, src/src.pro: Add new header file to qmake project files. 2009-08-16 Reijo Tomperi * src/token.cpp: Use _str.length() == 1, instead of _str[1] == 0 2009-08-16 Reijo Tomperi * src/token.cpp, src/token.h: Fix ticket #543 (Possible buffer overrun in Token::Match()) http://sourceforge.net/apps/trac/cppcheck/ticket/543 Get rid of string copying in Token::Match(), also improves speed a little. 8.0s -> 7.7s 2009-08-16 Daniel Marjamäki * Makefile: generated the Makefile 2009-08-17 Slava Semushin * src/checkother.cpp, test/testother.cpp: Fixed #272 ("The scope of the variable XXX can be limited" not detected when variable is initilialized during declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/272 2009-08-17 Slava Semushin * src/mathlib.cpp: MathLib(isInt): formatted and get rid of tabs. No functional change. 2009-08-17 Slava Semushin * src/mathlib.cpp: MathLib(isInt): use std::tolower(). No functional change. 2009-08-17 Slava Semushin * src/mathlib.cpp: MathLib(isInt): use isxdigit(). No functional change. 2009-08-16 Daniel Marjamäki * src/checkmemoryleak.cpp, src/mathlib.cpp, test/testmathlib.cpp: ettlmartin: improved the MathLib::IsInt 2009-08-16 Slava Semushin * src/checkmemoryleak.cpp, src/checkmemoryleak.h: CheckMemoryLeak: try to speed up call_func(). Using std::set::find() instead of sequence of Match() calls. 2009-08-16 Daniel Marjamäki * Makefile: updated the Makefile for the release 2009-08-16 Reijo Tomperi * Changelog, createrelease, src/cppcheck.cpp, src/main.cpp, win_installer/cppcheck.iss: Update version number to 1.35 2009-08-16 Slava Semushin * .gitignore: .gitignore: added src/Makefile generated by qmake. 2009-08-16 Slava Semushin * src/checkautovariables.cpp: CheckAutoVariables(autoVariables): make code more readable. - Reduce indentation - Don't check bindent in many conditions - Move inner if-s to outer condition Should be no functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp: CheckAutoVariables: const modifier propagation. No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp: CheckAutoVariables: don't save and search for local variables with varId 0. 2009-08-16 Slava Semushin * src/checkautovariables.cpp: CheckAutoVariables: added braces. No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp: CheckAutoVariables(returnPointerToLocalArray): replace std::list to std::set Use std::set and std::set::find() instead of std::list and std::find(). First should be faster (runs in the logarithmic time) than second (runs in linear time). No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h: CheckAutoVariables: change type of vp_list member to std::set. Change type of vda_list from std::list to std::set. It allows to us use find() method instead of self-written loop which may be slow. No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h: CheckAutoVariables: change type of vd_list member to std::set. Change type of vda_list from std::list to std::set. It allows to us use find() method instead of self-written loop which may be slow. No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h: CheckAutoVariables: change type of vda_list member to std::set. Change type of vda_list from std::list to std::set. It allows to us use find() method instead of self-written loop which may be slow. No functional change. 2009-08-16 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h: CheckAutoVariables: use varId instead of variable names. This change similar to be89be8c30326954369c6132c6ebfb47d5ea0ab0 but for vd_list member. 2009-08-16 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h, test/testautovariables.cpp: Fixed #590 (False positive: Invalid deallocation when variables have same name) http://sourceforge.net/apps/trac/cppcheck/ticket/590 2009-08-16 Daniel Marjamäki * gui/cppcheck_se.ts: Swedish: Updated the translation file 2009-08-15 Reijo Tomperi * gui/csvreport.cpp, src/filelister.cpp: line change and encoding fixes 2009-08-15 Slava Semushin * src/preprocessor.cpp, src/preprocessor.h: Fixed #588 (Preprocessor: Sort the configurations) http://sourceforge.net/apps/trac/cppcheck/ticket/588 2009-08-14 danmar * src/checkmemoryleak.h, src/tokenize.h: Visual C++: Fixed testrunner compilation problems 2009-08-14 danmar * cppcheck.cbproj, src/filelister.cpp: Borland C++ Builder: Fixed compilation problems when compiling cppcheck 2009-08-14 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: fix ticket #586 (Preprocessor: Lines like "#error don't" can cause "no pair for character" errors) http://sourceforge.net/apps/trac/cppcheck/ticket/586 2009-08-13 Daniel Marjamäki * src/mathlib.cpp: mathlib: minor fix 2009-08-13 danmar * src/checkbufferoverrun.cpp, src/mathlib.cpp, src/token.cpp, test/testmemleak.cpp, testrunner.cbproj: Borland C++ Builder: Fixed compilation and testrunner problems 2009-08-12 Reijo Tomperi * cppcheck.cbp, src/classinfo.h, src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Initial work for class and member function/variable list in tokenizer. 2009-08-12 Daniel Marjamäki * test/testpreprocessor.cpp: preprocessor: added todo testcase for detecting redundant preprocessor conditions 2009-08-12 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed #583 (False positive: the nullpointer check doesn't handle goto properly) 2009-08-12 Slava Semushin * test/testautovariables.cpp, test/testother.cpp: Fixed ticket #541 (Wrong testcases produce unlogged error at Tokenizer::syntaxError) http://sourceforge.net/apps/trac/cppcheck/ticket/541 2009-08-12 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #584 (Tokenizer: don't set varId for class declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/584 2009-08-11 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: Refactoring: updated the nullPointer message so it contains the name of the pointer 2009-08-10 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Fixed #566 (False positive when assigning the return value of realloc(NULL,..) to a pointer variable holding a freed memory address) 2009-08-10 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #582 (Preprocessor: Remove assembler code inside pragmas) 2009-08-10 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fixed ticket #578 (missing virtual destructor not detected) http://sourceforge.net/apps/trac/cppcheck/ticket/578 2009-08-09 Vesa Pikki * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_pl.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/gui.pro, gui/translationhandler.cpp: Added a Polish translation file. Also added some missing Finnish and English translations. 2009-08-09 Daniel Marjamäki * src/checkclass.cpp, test/testclass.cpp: Hoangtuansu: Fixed #537 (false positive::operator= should return something) 2009-08-09 Daniel Marjamäki * win_installer/cppcheck.wxs: Created an experimental wix installation file 2009-08-09 Gianluca Scacco * src/checkautovariables.cpp: Style check 2009-08-09 Gianluca Scacco * test/testautovariables.cpp: Added new test for invalid deallocation 2009-08-09 Gianluca Scacco * src/checkautovariables.cpp, src/checkautovariables.h: Invalid deallocation check done 2009-08-09 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #574 (Tokenizer: not assign varId when variable first afer keyword and has long type) http://sourceforge.net/apps/trac/cppcheck/ticket/574 2009-08-09 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #572 (Tokenizer: improve detection of arrays) http://sourceforge.net/apps/trac/cppcheck/ticket/572 2009-08-09 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Fixed ticket #573 (False positive of set range check when we dereferencing iterator) http://sourceforge.net/apps/trac/cppcheck/ticket/573 2009-08-09 Slava Semushin * src/checkbufferoverrun.cpp: checkbufferoverrun.cpp: get rid of Match() usage with varid 0. 2009-08-08 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed ticket #570 (Buffer overrun not detected when sprintf() format string greater then buffer size) http://sourceforge.net/apps/trac/cppcheck/ticket/570 2009-08-08 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed ticket #571 (Buffer overrun for sprintf() not detected after first ')' symbol) http://sourceforge.net/apps/trac/cppcheck/ticket/571 2009-08-08 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #565 (Tokenizer: simplify variable declaraion like 'int z = x >> 16') http://sourceforge.net/apps/trac/cppcheck/ticket/565 2009-08-08 Reijo Tomperi * src/tokenize.cpp: Improve speed with files containing classes. E.g. measured speed difference was 1m11.042s --> 0m45.005s with one large test file. 2009-08-07 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: Fixed #525 (false positive: vector range checking with <) 2009-08-07 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #564 (set variable id for "struct ABC **p") http://sourceforge.net/apps/trac/cppcheck/ticket/564 2009-08-06 Reijo Tomperi * src/checkbufferoverrun.cpp, src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #563 (set variable id for **p) http://sourceforge.net/apps/trac/cppcheck/ticket/563 2009-08-06 Daniel Marjamäki * src/checkbufferoverrun.cpp: Bail out if variable id is 0. This should be reverted when #563 has been fixed 2009-08-05 Reijo Tomperi * src/tokenize.cpp: Improve speed a lot for files that have long number lists like = { 0,1,2,3,4, etc. } 2009-08-05 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #555 (False positive: [CuTest.c:25]: (error) Memory leak: len) 2009-08-05 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fixed #558 (Tokenizer: Bad simplification of 'for(unsigned i = 0; i < 100; ++i)') 2009-08-05 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #528 (Tokenizer: Simplify: 'if(!(a->x=b()))') 2009-08-04 Reijo Tomperi * : commit c6a1f173182b128a8f03168cd48265f8b66e44b2 Author: Reijo Tomperi Date: Tue Aug 4 22:41:32 2009 +0300 2009-08-04 Daniel Marjamäki * src/check.h, src/checkautovariables.h, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.h, src/checkstl.h, src/cppcheck.cpp: Listing error messages in XML format 2009-08-04 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #554 (resource leak false positive) 2009-08-04 Daniel Marjamäki * src/checkother.h, src/tokenize.h, test/testmemleak.cpp, test/testredundantif.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Refactoring the unit testing 2009-08-04 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix ticket #531 (false positive about missing virtual destructor) http://sourceforge.net/apps/trac/cppcheck/ticket/531 2009-08-03 Kimmo Varis * gui/test.cpp: Oops. Didn't mean to commit the change to gui/test.cpp. But since I did, lets remove the linefeeds and make the function look like it gets called. 2009-08-02 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix ticket #552 (False positive with --all when realloc is used with two variables.) http://sourceforge.net/apps/trac/cppcheck/ticket/552 2009-08-02 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: TODO test case realloc5 added and "Checkmemoryleak: simplifycode result for" debug info added. 2009-08-02 Reijo Tomperi * gui/test.cpp, src/mathlib.cpp, src/tokenize.cpp: astyle fix 2009-08-02 Slava Semushin * src/checkbufferoverrun.cpp: src/checkbufferoverrun.cpp: fixed regression. 2009-08-02 Slava Semushin * src/checkbufferoverrun.cpp: src/checkbufferoverrun.cpp: don't call Token::Match() for variables with varId 0. 2009-08-02 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Improved "index out of bounds" check. Corrected 342acaaaf2f56e1de18371a1a726425127939178 commit. 2009-08-02 Slava Semushin * test/testbufferoverrun.cpp: test/testbufferoverrun.cpp: improve test cases. 2009-08-02 Slava Semushin * src/mathlib.cpp, src/mathlib.h, src/tokenize.cpp: MathLib: introduce and use calculate() method. No functional change. 2009-08-02 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: update translation files. 2009-08-02 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/test.cpp: Add 'possible style error' severity for the GUI. Fixes ticket #436 (GUI: All style -severity). The possible style errors can be now selected visible / hidden so all severities have their own menu item. 2009-08-02 Kimmo Varis * gui/mainwindow.cpp: GUI: Use native path separators in main window caption. 2009-08-02 Slava Semushin * src/tokenize.cpp: src/tokenize.cpp: don't call std::string.c_str() for Token::str() argument. In 4286fdbabb64014fd6ef968e163257a977400d3e commit I introduce Token::str() method with std::string argument and now we may get rid of useless std::string.c_str() calls. No functional change. 2009-08-02 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #549 (Tokenizer: improve calculation simplification) http://sourceforge.net/apps/trac/cppcheck/ticket/549 2009-08-02 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #547 (index out of bounds not detected when addition used as array index) http://sourceforge.net/apps/trac/cppcheck/ticket/547 2009-08-01 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed #542 (Tokenizer: allow numbers in templates parameters) http://sourceforge.net/apps/trac/cppcheck/ticket/542 2009-08-01 Kimmo Varis * : commit 5ce15eeb232e3f4a73b4285e0e5fb4c187ce443f Author: Kimmo Varis Date: Sat Aug 1 18:28:21 2009 +0300 2009-08-01 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(iterators): some corrections. Corrections for my changes in 12ca70fe5a61fa9a7b847411ca23329c52544402 and 347802f81983bf94494c50bd71522f5c5d8f1e15 commits. 2009-08-01 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #539 (Tokenizer: don't replace constants variables with varid 0) http://sourceforge.net/apps/trac/cppcheck/ticket/539 2009-08-01 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: fixed problem in Preprocessor::expandMacros when macro argument is for example 'unsigned long' 2009-08-01 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: fixed a false positive 2009-08-01 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/resultsview.cpp: GUI: Make two report saving errors translatable. 2009-07-31 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #511 (false positive, memory leak when using 'var = ({});') 2009-07-31 Kimmo Varis * gui/resultsview.cpp: GUI: Fix bug that GUI didn't close the report file. 2009-07-31 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/mainwindow.h, gui/resultstree.cpp: GUI: Fix GUI to recognize and use "possible error" type (was "all" earlier). 2009-08-01 Slava Semushin * src/checkstl.cpp, src/tokenize.cpp, test/testtokenize.cpp: Fixed #521 (Tokenizer: improve static variable detection) Also change cppcheck default behavior to don't show "If you see this, there is a bug" message for each variable without varId. This feature was very helpful for developers but may annoying users. http://sourceforge.net/apps/trac/cppcheck/ticket/521 2009-07-31 Slava Semushin * src/tokenize.cpp: Fixed ticket #534 (Segmentation fault when checking VLC sourcecode) Fixed all valgrind errors. http://sourceforge.net/apps/trac/cppcheck/ticket/534 2009-07-31 Daniel Marjamäki * test/testtokenize.cpp: astyle formatting 2009-07-31 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: detect when there are possible null pointer dereferencing when looping through a linked list both in inner and outer loops at the same time 2009-07-30 Daniel Marjamäki * test/testother.cpp: null pointers: Added a todo testcase 2009-07-31 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Fixed ticket #503 (Dereferencing after erase() not work if we try to get access to member) http://sourceforge.net/apps/trac/cppcheck/ticket/503 2009-07-31 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #523 (Tokenizer: set varId for types with long namespaces) FIXME: skip namespaces by the best way. http://sourceforge.net/apps/trac/cppcheck/ticket/533 2009-07-31 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #532 (Tokenizer: set varId for types which have comma in template parameter) http://sourceforge.net/apps/trac/cppcheck/ticket/532 2009-07-30 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(iterators): skip already processed tokens. No functional change. 2009-07-30 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(iterators): simplify condition. 2009-07-30 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(iterators): fixed coding mistake. 2009-07-30 Reijo Tomperi * src/cppcheck.cpp: include for clock_t (fix compile problem) 2009-07-30 Daniel Marjamäki * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Speedup of the match_cfg_def function 2009-07-30 Reijo Tomperi * test/testsimplifytokens.cpp: Added more tests to test case TestSimplifyTokens::ifassign1 2009-07-30 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #529 (Tokenizer: simplify if((x==0))) http://sourceforge.net/apps/trac/cppcheck/ticket/529 2009-07-29 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak for struct member: fixed false positive when the struct pointer is stored away 2009-07-29 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: Fixed false positive when 'do' are used 2009-07-29 Slava Semushin * src/checkstl.cpp, test/teststl.cpp: Fixed ticket #524 (Containers range check shouldn't stop at first founded error) http://sourceforge.net/apps/trac/cppcheck/ticket/524 2009-07-29 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(stlBoundries): simplify condition. No functional change. 2009-07-29 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #522 (Tokenizer: recognize comma in container with STL type declaration) http://sourceforge.net/apps/trac/cppcheck/ticket/522 2009-07-29 Slava Semushin * src/checkstl.cpp: src/checkstl.cpp(iterators): reduce indentation. No functional change. 2009-07-29 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #520 (Tokenizer: properly set varId for containers with STL types) http://sourceforge.net/apps/trac/cppcheck/ticket/520 2009-07-28 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #519 (Tokenizer converts commas in for-loops) http://sourceforge.net/apps/trac/cppcheck/ticket/519 2009-07-28 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #514 (false positive:: memory leak when using comma near delete[]) http://sourceforge.net/apps/trac/cppcheck/ticket/514 2009-07-28 Slava Semushin * test/testautovariables.cpp: test/testautovariables.cpp: renamed some testcases. Make it readable. No functional change. 2009-07-28 Slava Semushin * src/checkautovariables.cpp, test/testautovariables.cpp: checkautovariables: added newlines to make code more readable. No code change. 2009-07-28 Slava Semushin * src/checkautovariables.cpp, test/testautovariables.cpp: Fixed ticket #517 (False positive for extern variables: return of the address of an auto-variable) http://sourceforge.net/apps/trac/cppcheck/ticket/517 2009-07-27 Slava Semushin * src/checkclass.cpp, src/checkmemoryleak.cpp, src/checkother.cpp: Replace Match() to operator==() from std::string. No functional change. 2009-07-27 Slava Semushin * src/checkautovariables.cpp, src/checkclass.cpp, src/checkmemoryleak.cpp, src/checkother.cpp, src/checkstl.cpp, src/checkunusedfunctions.cpp, src/preprocessor.cpp, src/tokenize.cpp: Replace simpleMatch() to operator==() from std::string. No functional change. 2009-07-27 Slava Semushin * src/checkautovariables.cpp: src/checkautovariables.cpp(autoVariables): simplify condition. No functional change. 2009-07-27 Slava Semushin * src/checkautovariables.cpp: src/checkautovariables.cpp: assign default value to std::string during object creation. No functional change. 2009-07-27 Daniel Marjamäki * src/cppcheck.cpp, src/settings.cpp, src/settings.h: gcc: added an option '--showtime' => show some simple timing information 2009-07-27 Reijo Tomperi * test/testsimplifytokens.cpp: Improve test case TestSimplifyTokens::comma_keyword 2009-07-26 Reijo Tomperi * src/preprocessor.cpp: Update to ticket #265 (Log a warning when an include file is not found) Only warn about "foo.h", don't warn about http://sourceforge.net/apps/trac/cppcheck/ticket/265 2009-07-26 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: astyle formatting 2009-07-26 Slava Semushin * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed ticket #499 (buffer overflow not detected when using macros) sprintf() buffer overrun detection works wrong due to typo (since time when it was added in commit a604f56f1960d3abe7a7c4bbc221bf62ccb676a2). Also reports buffer overrun when sprintf() writes bytes equal to buffer size -- in this case off-by-one error appears. http://sourceforge.net/apps/trac/cppcheck/ticket/499 2009-07-26 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fixed ticket #496 (Tokenizer: simplify statements with "," better) https://sourceforge.net/apps/trac/cppcheck/ticket/496 2009-07-26 Daniel Marjamäki * src/checkother.cpp: Fixed #506 (###### If you see this, there is a bug ###### Token::Match()) 2009-07-26 Slava Semushin * gui/cppcheck_ru.ts: gui/cppcheck_ru.ts: start Russian translation. 2009-07-26 Slava Semushin * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: gui: regenerate ts-files. 2009-07-26 Reijo Tomperi * src/preprocessor.cpp: Removed some debug output which should not be on and cleaned up a little. 2009-07-25 Reijo Tomperi * src/cppcheck.cpp, src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #265 (Log a warning when an include file is not found) http://sourceforge.net/apps/trac/cppcheck/ticket/265 2009-07-25 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed #504 (false positive: null pointer dereference) 2009-07-25 Daniel Marjamäki * src/checkother.cpp: speedup of CheckOther::postIncrement 2009-07-25 Daniel Marjamäki * test/testpreprocessor.cpp: Added more tests to the TestPreprocessor::match_cfg_def (#505) 2009-07-25 Daniel Marjamäki * src/tokenize.cpp: astyle formatting 2009-07-25 Daniel Marjamäki * src/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Added todo test case for better evaluation of #if conditions 2009-07-25 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #501 (Preprocessor should read open configurations that are defined within the file) 2009-07-25 Slava Semushin * src/checkother.cpp: src/checkother.cpp: simplify condition a bit. No functional change. 2009-07-25 Slava Semushin * src/checkmemoryleak.cpp, src/checkother.cpp, src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed ticket #500 (Tokenizer: simplify the "(p != NULL)" conditions) Also teach simplifyIfNot() to handle variables like Foo::var. https://sourceforge.net/apps/trac/cppcheck/ticket/500 2009-07-25 Slava Semushin * test/testtokenize.cpp: test/testtokenize.cpp: use tokenizeAndStringify() function. Instead of self-written code. No functional change. 2009-07-24 booga * src/checkother.cpp, src/checkstl.cpp, test/testother.cpp, test/teststl.cpp: astyle FTW (should have read about that sooner) 2009-07-24 booga * src/checkother.cpp, src/checkother.h, src/checkstl.cpp, src/checkstl.h, test/testother.cpp, test/teststl.cpp: Fix #476 STL Container checks. Fix #473 Add post increment check for STL objects and Classes. 2009-07-24 Daniel Marjamäki * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: simplify return statements - remove redundant parantheses 2009-07-24 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: fixed false positive for struct members - better handling of if/else 2009-07-23 Daniel Marjamäki * test/testmemleak.cpp: memory leaks: added a todo test case for struct members when using if-else 2009-07-23 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: fixed false positives when checking if pointer is null at many locations (#485) 2009-07-23 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: fixed false positives (#49) 2009-07-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #493 (Memory leak: False positive when using the exit(0)) 2009-07-23 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointers: dereferencing a pointer and then checking if it's null (#49) 2009-07-23 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: tokenizer: simplify '?:' better when the condition is always true 2009-07-22 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Better evaluation of conditions such as '#if defined A || defined B' (#469) 2009-07-22 Daniel Marjamäki * src/tokenize.cpp: tokenizer: added todo for simplifying '(true?x:y)' => '(x)' 2009-07-22 Daniel Marjamäki * test/testother.cpp: astyle formatting 2009-07-22 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed #469 (Preprocessor should read open configurations that are defined within the file) 2009-07-22 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed #497 (Templates are not expanded correctly) 2009-07-22 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #494 (False positives of checking leaks struct members) Better handling of function calls 2009-07-21 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: null pointers: better checking when dereferencing pointer and then checking if it is null (#485) 2009-07-21 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testcppcheck.cpp, test/testmemleak.cpp: dereferencing deallocated memory: it is ok to take the address to deallocated memory but it is not ok to dereference the address 2009-07-21 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: invalid pointer usage: broke out CheckOther::invalidPointer from the CheckOther::nullPointer (#485) 2009-07-21 Daniel Marjamäki * : commit d2278b5ce0d23b864cd99a998866b45e1bdf257b Author: Reijo Tomperi Date: Mon Jul 20 23:24:23 2009 +0300 2009-07-20 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix ticket #486 (C-style pointer casting misses const pointers) http://sourceforge.net/apps/trac/cppcheck/ticket/486 2009-07-20 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointer dereferencing: fixed another false positive (#485) 2009-07-20 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointer dereferencing: removed a few false positives in the new check that I added (#485) 2009-07-20 Daniel Marjamäki * src/checkother.cpp: fix bug in previous commit that fixed #485 2009-07-20 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed #485 (detect when code is checking for null after dereferencing) 2009-07-20 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Fixed hanging in Preprocessor::expandMacros when trying to replace all '__VA_ARGS__' with '__VA_ARGS__' 2009-07-20 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak for struct member: made the checking more sensitive. Skip bail-out execution paths were the member is properly deallocated 2009-07-19 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memleak: implemented simple checking for leaking struct members 2009-07-19 Slava Semushin * test/testrunner.cpp: test/testrunner.cpp: fixed exit code when count of fails tests equals to 256. When 256 tests fails return code was 0 and it was wrong. Now exit code may be only 0 or 1 and not show how many tests fails. Thanks to aggro80@ for pointing to this! 2009-07-18 Daniel Marjamäki * src/checkother.cpp, test/testmemleak.cpp, test/testtokenize.cpp: astyle formatting 2009-07-18 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: src/checkmemoryleak.cpp: added fchmod() function to white list. 2009-07-18 Slava Semushin * src/checkother.cpp, test/testother.cpp: Finally fixed ticket #284 (style check: redundant condition improvement) http://sourceforge.net/apps/trac/cppcheck/ticket/284 2009-07-18 Slava Semushin * test/testrunner.cpp, test/testsuite.cpp, test/testsuite.h: Fixed ticket #481 (testrunner should exit with non-zero status if one of tests fails) http://sourceforge.net/apps/trac/cppcheck/ticket/481 2009-07-18 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #464 (resource leak not detected when getc is used on the file handle) http://sourceforge.net/apps/trac/cppcheck/ticket/464 2009-07-18 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #479 (varId not assigned to reference to standart container) http://sourceforge.net/apps/trac/cppcheck/ticket/479 2009-07-18 Kimmo Varis * : commit d1eb7e65584421d346c69371594301c227cf05c8 Author: Kimmo Varis Date: Sat Jul 18 13:34:00 2009 +0300 2009-07-18 Kimmo Varis * src/src.pro: Enable more warnings in QMake-generated makefiles. Use same warning levels for GCC than in original makefile. Use W4 level for Visual Studio. 2009-07-18 Slava Semushin * test/teststl.cpp: Fixed ticket #477 (Bug in Token::Match() during process TestStl::pushback3) http://sourceforge.net/apps/trac/cppcheck/ticket/477 2009-07-18 Kimmo Varis * : commit 180a04316d511d743508adc595d2cab6ef564711 Author: Kimmo Varis Date: Sat Jul 18 11:25:22 2009 +0300 2009-07-18 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: tokenizer: improved the Tokenizer::simplifyIfNot 2009-07-18 Daniel Marjamäki * src/main.cpp: astyle formatting 2009-07-17 Slava Semushin * src/checkclass.cpp, test/testclass.cpp: Fixed ticket #459 (false positive::Member variable not initialized in constructor) http://sourceforge.net/apps/trac/cppcheck/ticket/459 2009-07-17 Daniel Marjamäki * gui/aboutdialog.h, gui/applicationdialog.h, gui/applicationlist.h, gui/checkthread.h, gui/common.h, gui/csvreport.h, gui/fileviewdialog.h, gui/mainwindow.h, gui/projectfile.h, gui/report.h, gui/resultstree.h, gui/resultsview.h, gui/settingsdialog.h, gui/threadhandler.h, gui/threadresult.h, gui/translationhandler.h, gui/txtreport.h, gui/xmlreport.h, src/check.h, src/checkautovariables.h, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkheaders.h, src/checkmemoryleak.h, src/checkother.h, src/checkstl.h, src/checkunusedfunctions.h, src/cppcheck.h, src/errorlogger.h, src/filelister.h, src/mathlib.h, src/preprocessor.h, src/settings.h, src/token.h, src/tokenize.h: doc: updated doxygen comments. three groups where created - 'GUI', 'Core' and 'Checks' 2009-07-16 Daniel Marjamäki * cppcheck.geany, src/main.cpp: doc: changed the doxygen comments for the mainpage 2009-07-16 Vesa Pikki * gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, src/preprocessor.cpp, src/tokenize.cpp: Added support for checking files via commandline arguments. 2009-07-14 Kimmo Varis * : commit c6b82cab21cffa6d7ec6ae5d8f15bb6dbd861707 Author: Kimmo Varis Date: Tue Jul 14 18:47:38 2009 +0300 2009-07-14 Kimmo Varis * .gitignore: Add generated GUI header files to gitignore. 2009-07-14 Daniel Marjamäki * src/tokenize.cpp: doxygen: added a todo to simplify 'for' loops better in the tokenizer 2009-07-14 Kimmo Varis * gui/gui.pro: GUI: Place intermediate resource files to temp folder. 2009-07-14 Kimmo Varis * src/src.pro, test/test.pro: Add QMake project files for core and tests. Ticket #472 (QMake project file to build cppcheck core). 2009-07-14 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: fixed todo test case - detect iterator usage after push_front|push_back 2009-07-14 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: tokenizer: simplify the '?:' operator 2009-07-14 Daniel Marjamäki * test/testsimplifytokens.cpp: simplify tokens: simplify test cases 2009-07-14 Daniel Marjamäki * src/checkclass.cpp, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkunusedfunctions.cpp, src/preprocessor.cpp, src/token.cpp, src/tokenize.cpp: doxygen: made the todos visible in the doxygen output 2009-07-13 Daniel Marjamäki * src/check.h, src/checkheaders.cpp, src/checkunusedfunctions.cpp, src/cppcheck.cpp, src/tokenize.cpp, src/tokenize.h, test/testpreprocessor.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testtokenize.cpp: minor refactoring: header cleanup. use forward declarations instead of includes 2009-07-13 Kimmo Varis * : commit 7f7e85390f72ee63ec9bdf4642a36b144dcb69f3 Author: Kimmo Varis Date: Mon Jul 13 18:53:43 2009 +0300 2009-07-13 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, test/testbufferoverrun.cpp, test/testdangerousfunctions.cpp: refactoring: Renamed checking classes 2009-07-13 Kimmo Varis * : commit 6393498966e7e030445cca0387c85942826964d7 Author: Kimmo Varis Date: Mon Jul 13 16:51:35 2009 +0300 2009-07-13 Daniel Marjamäki * src/checkmemoryleak.h, src/errorlogger.h: astyle formatting 2009-07-13 Kimmo Varis * gui/common.h, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Remove security-category. The security-category was removed from core in commits 03f3ee62a0d9a7e38f1dfcbefae872cd08990dbc and 11bc5195b84c18cc59f336cc0588dc07294a1de7. 2009-07-13 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h: refactoring: Refactoring of the leak-checking classes 2009-07-13 Daniel Marjamäki * src/main.cpp, src/token.h: doxygen: updated a few comments 2009-07-13 Kimmo Varis * : commit d88cf4d3e4caa2a7d9234d8be9aefa67df081dc0 Author: Kimmo Varis Date: Mon Jul 13 11:39:46 2009 +0300 2009-07-13 Daniel Marjamäki * src/check.h, src/checkautovariables.cpp, src/checkautovariables.h, src/checkbufferoverrun.cpp, src/checkclass.cpp, src/checkdangerousfunctions.cpp, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkstl.cpp, src/errorlogger.h, test/testbufferoverrun.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testmemleak.cpp: refactoring: renamed the severity "all" to "possible error" 2009-07-12 Daniel Marjamäki * gui/gui.pro, gui/mainwindow.cpp, src/errorlogger.h, src/settings.cpp, src/settings.h: cleanup: continued with the removing of the security. Some more work is needed but now everything compiles and runs at least. 2009-07-12 Daniel Marjamäki * src/checkother.h: doc: add link 2009-07-12 Daniel Marjamäki * Makefile, src/checksecurity.cpp, src/checksecurity.h, test/testsecurity.cpp, tools/dmake.cpp, tools/errmsg.cpp: cleanup: removed deprecated files. security checking and errmsg 2009-07-12 Daniel Marjamäki * createrelease, src/cppcheck.cpp, win_installer/cppcheck.iss: updated version to 1.34 2009-07-12 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: unused private functions: don't check classes declared in header files unless it is known that their whole implementation is seen 2009-07-12 Kimmo Varis * gui/about.ui, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Improve About-dialog layout. Add vertical spacer above texts to that icon box becomes narrow and text box wide. 2009-07-12 Kimmo Varis * gui/about.ui: GUI: Wordwrap texts in the About-dialog. Fixes ticket #454 (About-dialog size/text problems). 2009-07-11 Daniel Marjamäki * src/main.cpp: doxygen: wrote a simple text for the mainpage 2009-07-11 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: better description for the message with id strncatUsage 2009-07-10 Daniel Marjamäki * src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/errorlogger.cpp, src/errorlogger.h, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, test/testcppcheck.cpp, test/testsuite.cpp: Revert "cppcheck: Now it's possible to change the output format, for example to a visual studio compliant format" This reverts commit 91a8dbd7b987d6af5f0c00b850bcdd82fe848459. 2009-07-09 Daniel Marjamäki * cppcheck.geany: geany: updated the project file 2009-07-08 Daniel Marjamäki * src/check.h, src/checkclass.cpp, src/checkclass.h, src/checksecurity.h, src/checkstl.h, src/preprocessor.cpp, src/preprocessor.h: refactoring: minor refactorings and added some doxygen comments 2009-07-08 Daniel Marjamäki * src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/errorlogger.cpp, src/errorlogger.h, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, test/testcppcheck.cpp, test/testsuite.cpp: cppcheck: Now it's possible to change the output format, for example to a visual studio compliant format 2009-07-08 Daniel Marjamäki * src/check.h, src/checkother.cpp, src/checkstl.cpp: doc: added more information when '--verbose' is used for these error messages: * dangerous usage of erase * overlapping data buffer 2009-07-08 Daniel Marjamäki * test/testsimplifytokens.cpp: templates: simplified a todo test case by removing a redundant function from the code 2009-07-07 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memleak: fixed todo test case 2009-07-07 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #431 (Unused private function, wrong line when two functions with same name) 2009-07-07 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: Fixed #382 (False positive: public function flagged as 'Unused private function') 2009-07-06 Daniel Marjamäki * gui/cppcheck_se.ts: Translation: Updated the translation file for swedish 2009-07-06 Daniel Marjamäki * test/testmemleak.cpp: addon to previous commit - changed ASSERT_EQUALS to TODO_ASSERT_EQUALS for the todo test case 2009-07-06 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: Added a simple todo test case 2009-07-06 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #446 (memory leak false positive when variable is static) 2009-07-06 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: Don't simplify declarations of static variables 2009-07-06 Kimmo Varis * gui/resultsview.cpp: GUI: Add icons for error messages of failed report saving. 2009-07-06 Kimmo Varis * gui/csvreport.h, gui/txtreport.h, gui/xmlreport.h: GUI: Make report class destructors virtual. 2009-07-06 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/csvreport.cpp, gui/csvreport.h, gui/gui.pro, gui/mainwindow.cpp, gui/report.h, gui/resultsview.cpp, gui/resultsview.h: GUI: Add new CSV report type. CSV files are handy (and commonly used) to export/import data to other programs. CSV reports allow easy import of cppcheck error data to other programs for further processing. 2009-07-06 Kimmo Varis * win_installer/cppcheck.iss: Installer: Add option to create desktop icon for GUI. 2009-07-06 Kimmo Varis * win_installer/cppcheck.iss: Installer: Remove QT-based from GUI description and use only GUI. Users don't care and don't need to know that GUI is QT-based. It may even confuse some who don't know what QT is. So use simply GUI. 2009-07-06 Kimmo Varis * win_installer/cppcheck.iss: Installer: Label GUI as Beta. 2009-07-05 Reijo Tomperi * cppcheck.cbp, gui/mainwindow.cpp, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/filelister.cpp, src/filelister.h, src/tokenize.cpp, src/tokenize.h, test/testcharvar.cpp, test/testcppcheck.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testtokenize.cpp, test/testunusedvar.cpp, tools/dmake.cpp: Refactoring: Rename member functions to follow naming guidelines. 2009-07-05 Reijo Tomperi * src/tokenize.h, test/testmemleak.cpp: Test case improvement, unused function removed from tokenizer. 2009-07-05 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fix ticket #457 (False positive: Member variable not assigned a value in copy constructor) http://sourceforge.net/apps/trac/cppcheck/ticket/457 Simplify "a = 0, b = 0;" into "a = 0; b = 0;" 2009-07-04 Kimmo Varis * : commit b6e543fd4f0e98410527500f2b7f60986304189f Author: Kimmo Varis Date: Sat Jul 4 22:33:18 2009 +0300 2009-07-04 Kimmo Varis * gui/resultstree.cpp: Fix ticket #456 (GUI:: save only the results selected in view settings) http://sourceforge.net/apps/trac/cppcheck/ticket/456 2009-07-04 Reijo Tomperi * test/testsimplifytokens.cpp: TODO Test case TestSimplifyTokens::remove_comma added 2009-07-04 Reijo Tomperi * gui/mainwindow.cpp, gui/translationhandler.cpp: astyle fix 2009-07-04 Vesa Pikki * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/translationhandler.cpp: I reverted back the translation file checking. Allthough I put it after QTranslator had failed to load the translation. This still allows QTranslator to try and open the file with several variations of the file. To user we'll tell that the default file is missing. 2009-07-04 Vesa Pikki * gui/translationhandler.cpp: Removed an unnecessary translation file check. It was missing the file extension and QTranslator returns false if it was unable to find the translation file which is just as good. QTranslator can also check for several variations of the given filename. 2009-07-04 Vesa Pikki * : commit e656c951e59bbde0eba9e23dfb3c7f10a4249af3 Author: Vesa Pikki Date: Sat Jul 4 11:06:29 2009 +0300 2009-07-04 Kimmo Varis * gui/mainwindow.cpp, gui/projectfile.cpp, gui/projectfile.h: GUI: Read include directories from project file. 2009-07-04 Kimmo Varis * src/cppcheck.cpp, src/cppcheck.h, src/settings.h: Move include paths list to Settings class so we can set include paths from GUI. 2009-07-03 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #448 (false positive:: resource leak) http://sourceforge.net/apps/trac/cppcheck/ticket/448 Tokenizer improved to simplify "if( (p)==-1 )" 2009-07-03 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix ticket #452 (Failure to detect "member var not initialized in constructor" if class inherits) http://sourceforge.net/apps/trac/cppcheck/ticket/452 2009-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/resultstree.cpp: GUI: Show instructions instead of error when viewer application is not configured. 2009-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/mainwindow.cpp, gui/translationhandler.cpp: GUI: Further improve error message for lang file not found. Not being able to switch language is critical error, not just warning. Also show full file name (with extension) of the file not found. 2009-07-03 Kimmo Varis * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/translationhandler.cpp: GUI: Check translation file exists before loading it. This allows more accurate error message for the user. 2009-07-03 Kimmo Varis * gui/resultsview.ui: Fix EOL style for gui/resultsview.ui that got converted to Windows style. Apparently QT Creator blindly converts file EOL style without any warning to user. 2009-07-03 Kimmo Varis * gui/resultsview.ui: GUI: Remove doubled margin from main window. The main window sets default margin for central widget. And layout was setting another margin so margin was doubled. 2009-07-03 Kimmo Varis * win_installer/cppcheck.iss, win_installer/readme.txt: Installer: Install translation files. 2009-07-03 Kimmo Varis * gui/mainwindow.cpp: Remove unused variable. 2009-07-02 Vesa Pikki * : commit 7a4115236aa61e3c8d3ca9264d816515e572a3a5 Author: Vesa Pikki Date: Thu Jul 2 23:41:37 2009 +0300 2009-07-02 Reijo Tomperi * src/cppcheck.cpp: Fix ticket #434 (Unused function gets reported dozens of times) http://sourceforge.net/apps/trac/cppcheck/ticket/434 Using --unused-functions with -j will now print out error message: "cppcheck: error: --unused-functions can't be used with -j option." 2009-07-02 Vesa Pikki * gui/translationhandler.cpp, gui/translationhandler.h: Added missing license texts. 2009-07-02 Vesa Pikki * gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.h: Disabling progressbar if stop button is pressed. This actually had no visible effect on KDE. 2009-07-02 Vesa Pikki * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h: Checks if toolbar is closed when opening view menu. Basically just reverted back Kimmo's code that was lost in merge. 2009-07-02 Vesa Pikki * gui/main.ui: Removed unused statusbar. 2009-07-02 Vesa Pikki * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/file.ui, gui/fileviewdialog.cpp, gui/fileviewdialog.h, gui/gui.pro, gui/mainwindow.cpp: Fileview dialogs now use Qt Designer ui files. Translation also updated. 2009-07-02 Vesa Pikki * gui/about.ui, gui/aboutdialog.cpp, gui/aboutdialog.h, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/gui.pro: About dialog now uses Qt Designer ui file. Updated translations again. 2009-07-02 Vesa Pikki * : commit 32725c872ec24903c3625ebb32605bb2eacf0e67 Author: Vesa Pikki Date: Thu Jul 2 19:15:34 2009 +0300 2009-07-02 Vesa Pikki * gui/application.ui, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/mainwindow.cpp, gui/settings.ui, gui/settingsdialog.cpp, gui/settingsdialog.h: Settings dialog and application dialog now use Qt Designer ui files. 2009-07-02 Kimmo Varis * gui/applicationlist.cpp, gui/mainwindow.cpp, gui/resultstree.cpp: Astyle fixes. 2009-07-02 Kimmo Varis * gui/aboutdialog.cpp, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts: GUI: Add homepage URL to About-dialog. 2009-07-02 Vesa Pikki * gui/application.ui, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/gui.pro, gui/settings.ui: Added ui files for Settings and Application dialogs. The code doesn't use those at the moment though. Updated the translation files aswell. 2009-07-02 Vesa Pikki * gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/mainwindow.cpp, gui/resultstree.cpp: Error types are now translated aswell. 2009-07-02 Vesa Pikki * gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Toolbar can now be hidden. Treeview's headers will now be translated when language changes. 2009-07-02 Vesa Pikki * readme.txt: Added instructions to compile the GUI. 2009-07-02 Vesa Pikki * gui/applicationlist.cpp, gui/applicationlist.h, gui/common.h, gui/cppcheck_de.ts, gui/cppcheck_en.ts, gui/cppcheck_fi.ts, gui/cppcheck_ru.ts, gui/cppcheck_se.ts, gui/fileviewdialog.cpp, gui/gui.pro, gui/main.cpp, gui/main.ui, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/resultsview.ui, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, gui/translationhandler.cpp, gui/translationhandler.h: Began adding translations and using Qt Designer .ui files. Also added QSetting value names to common.h Work is halfway on both translations and .ui files. I added a very quick and rough finnish translation. The program now requires the translation files to be created before running that can be done with lrelease gui.pro. To compile the whole GUI one must do the following cd gui qmake lrelease gui.pro make 2009-07-02 Kimmo Varis * gui/applicationlist.cpp, gui/mainwindow.cpp, gui/resultstree.cpp, gui/settingsdialog.cpp, gui/threadhandler.cpp: GUI: Do not make settings names translatable. Having translated settings names is a bad idea. If user changes GUI language one loses settings. Also settings might be exported/imported and translated names might not work between systems/users. 2009-07-02 Kimmo Varis * : commit c79d50a7103ac08f31c392d9c7ebac6affff68b0 Author: Kimmo Varis Date: Thu Jul 2 00:05:09 2009 +0300 2009-07-01 Kimmo Varis * gui/applicationlist.cpp, gui/applicationlist.h, gui/resultstree.cpp, gui/threadhandler.cpp: Astyle fixes. 2009-07-01 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add View-menu item to show/hide standard toolbar. 2009-06-30 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix ticket #445 (simple to avoid false positive for buffer overflow) http://sourceforge.net/apps/trac/cppcheck/ticket/445 Simple bailout in case "if" is found inside the for-loop. 2009-06-27 Kimmo Varis * gui/mainwindow.h: Fix couple of typos in comments. 2009-06-27 Kimmo Varis * gui/common.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp: GUI: Remove GUI for showing unused functions. Implements ticket #443 (Remove checking of unused functions from GUI) https://sourceforge.net/apps/trac/cppcheck/ticket/443 See also ticket #434 https://sourceforge.net/apps/trac/cppcheck/ticket/434 2009-06-27 Kimmo Varis * gui/mainwindow.cpp: GUI: Disable checking unused functions. Implements ticket #443 (Remove checking of unused functions from GUI) https://sourceforge.net/apps/trac/cppcheck/ticket/443 See also ticket #434 https://sourceforge.net/apps/trac/cppcheck/ticket/434 2009-06-26 Daniel Marjamäki * cppcheck.geany, src/cppcheck.cpp, src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #267 (Glued define and define name in output text) The handling of ifdef configurations where rewritten. Either a configuration is handled properly or it is not handled at all. 2009-06-24 Reijo Tomperi * cppcheck.cbp, gui/aboutdialog.h, gui/fileviewdialog.h, gui/projectfile.h, gui/report.h, gui/txtreport.h, gui/xmlreport.h: Fixed compile error in Linux Include guard naming fix (names starting with underscore+capital letter are reserved in C++, so we should not use those) Codeblocks project file update 2009-06-24 Kimmo Varis * gui/projectfile.h: GUI: Add include guard for projectfile.h. 2009-06-24 Kimmo Varis * : commit 678714419c562d67e12111fc6b5472b53ba34c45 Author: Kimmo Varis Date: Wed Jun 24 10:54:56 2009 +0300 2009-06-23 Daniel Marjamäki * src/checkmemoryleak.cpp: minor fix of test case 2009-06-23 Daniel Marjamäki * src/checkmemoryleak.cpp: calling unknown function -> use 2009-06-23 Daniel Marjamäki * test/testmemleak.cpp: added test case 2009-06-23 Kimmo Varis * gui/projectfile.cpp: Fix ticket #437 (Compile warnings in GUI (in Linux)) https://sourceforge.net/apps/trac/cppcheck/ticket/437 Add empty cases for XML element types we don't need to handle. 2009-06-23 Reijo Tomperi * cppcheck.cbp: codeblocks project file updated 2009-06-22 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #435 (False positive: Invalid number of character when ({}) is used in code) http://sourceforge.net/apps/trac/cppcheck/ticket/435 2009-06-22 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Add checked directory path to main window caption. 2009-06-22 Kimmo Varis * gui/gui.cppcheck, gui/projectfile.txt: Fix EOL style of project file doc and example project file. 2009-06-22 Kimmo Varis * gui/readme.txt, win_installer/cppcheck.iss, win_installer/readme.txt: Add QT XML DLL to Windows installer and update docs. 2009-06-22 Kimmo Varis * : commit 1aafeebe7b2abd606043bcb212ad3fcca483e10b Author: Kimmo Varis Date: Mon Jun 22 11:57:17 2009 +0300 2009-06-21 Daniel Marjamäki * src/checkmemoryleak.cpp: astyle formatting 2009-06-21 Daniel Marjamäki * src/checkautovariables.h: doc: simplified the documentation for autovariables a bit 2009-06-21 Slava Semushin * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Fixed ticket #399 (Add detection for resource leaks after open() usage) http://sourceforge.net/apps/trac/cppcheck/ticket/399 2009-06-21 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: CheckMemoryLeakInFunction: More sensitive checking when the code calls an unknown function 2009-06-21 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: detect memory leak when all is given when calling an unknown function 2009-06-21 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Replace "#if !defined(A)" with "#ifndef A" 2009-06-21 Kimmo Varis * gui/mainwindow.cpp: GUI: Don't allow to open Settings-dialog while checking. 2009-06-20 Kimmo Varis * gui/mainwindow.cpp: GUI: Rename Check all/Uncheck all View-menu items to Show all/Hide all. It is not obvious for user what those items do and after all it is about showing/hiding all items. 2009-06-20 Kimmo Varis * gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: GUI: Enable clearing/saving results also if there are only hidden results. This commit fixes a bug in my earlier commit that only checked visible results. 2009-06-20 Kimmo Varis * : commit 71aa189efbbb221d755086958c63013be63d9362 Author: Kimmo Varis Date: Sat Jun 20 23:23:54 2009 +0300 2009-06-20 Reijo Tomperi * src/checkclass.cpp, src/tokenize.h, test/testunusedprivfunc.cpp: Fix ticket #426 (Problem with include) http://sourceforge.net/apps/trac/cppcheck/ticket/426 2009-06-20 Kimmo Varis * gui/mainwindow.cpp: GUI: Clear results from view before starting new compare. Strictly speaking this is not necessary but it is the easiest way to set the GUI state to "no results"-state. 2009-06-20 Kimmo Varis * gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: GUI: Disable result cleaning and saving during the checking. 2009-06-20 Kimmo Varis * .gitignore: Add Doxygen output directory to gitignore. 2009-06-20 Kimmo Varis * : commit 210014b930928b323dd5e592c35c674c6e61871c Author: Kimmo Varis Date: Sat Jun 20 20:55:28 2009 +0300 2009-06-20 Daniel Marjamäki * src/checkother.cpp, test/testcharvar.cpp: Fixed #425 (False positive: usage of char variable.. c = c & 0x03) Using char variables in bit operations are ok if: * the result is stored in a char * the variable is and'ed with a number that is less than 0x100 2009-06-20 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/threadhandler.cpp, gui/threadhandler.h: GUI: Make ThreadHandler class part of object tree. 2009-06-20 Daniel Marjamäki * src/checkmemoryleak.cpp: CheckMemoryLeakInClass: Only show the memory leak message when --all is used 2009-06-20 Daniel Marjamäki * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testmemleak.cpp, test/testsimplifytokens.cpp: Fixed ticket #411 (false positive: resource leak in while loop) 2009-06-20 Daniel Marjamäki * test/testtokenize.cpp: refactoring testcases for Tokenizer::simplifyAddBraces 2009-06-20 Kimmo Varis * gui/resultstree.h, src/cppcheck.h, src/cppcheckexecutor.h, src/errorlogger.h, src/token.h: Doxygen fixes. Wrong parameter names etc. 2009-06-19 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Tokenizer: Fixed problem when simplifying casts 2009-06-19 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #416 (False positive: Redundant code) http://sourceforge.net/apps/trac/cppcheck/ticket/416 2009-06-19 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Better handling of macros that has parantheses but not parameters such as "#define AAA( ) aaa" 2009-06-19 Reijo Tomperi * src/preprocessor.cpp: astyle fix 2009-06-19 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket #417 (Crashes in windows because of invalid char value) negative char values are allowed in strings and comments. but not in other code. 2009-06-19 Kimmo Varis * : commit 923e01af3fd18c9156601afc811206ab0a2146bd Author: Kimmo Varis Date: Fri Jun 19 15:19:32 2009 +0300 2009-06-19 Daniel Marjamäki * src/checkother.h, test/testother.cpp: Fixed #420 (WarningOldStylePointerCast() needs a test case) 2009-06-19 Kimmo Varis * src/preprocessor.cpp, test/testpreprocessor.cpp: Revert "Fix ticket #417 (Crashes in Windows because of invalid char value)" This reverts commit 70db2562f498cd29a310dc88d2b47a232cd89690. See the ticket - the fix was not correct fix. 2009-06-19 Kimmo Varis * : commit d5d96d2535c6bcb0581e63818e0cbcf440e2d703 Merge: 12f3ac5 e8d1905 Author: Daniel Marjamäki Date: Thu Jun 18 23:10:16 2009 +0200 2009-06-19 Kimmo Varis * : commit 12f3ac5a2fd77472ed4848bd39dfb47f9f9097b9 Author: Daniel Marjamäki Date: Thu Jun 18 23:09:11 2009 +0200 2009-06-19 Kimmo Varis * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #417 (Crashes in Windows because of invalid char value) 8-bit characters and UTF-8 characters are now converted to spaces. They can only appear in the code files in comments or string/char constants. So we cannot just ignore them as that would change length. 2009-06-19 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #418 (delete a,b; not tokenized correctly) http://sourceforge.net/apps/trac/cppcheck/ticket/418 2009-06-18 Reijo Tomperi * src/checkother.cpp, test/testother.cpp: Fix ticket #413 (false positive: C-style pointer casting for pure virtual function) http://sourceforge.net/apps/trac/cppcheck/ticket/413 2009-06-18 Reijo Tomperi * gui/fileviewdialog.cpp, gui/fileviewdialog.h: Encoding changed from ISO* to UTF-8 2009-06-18 Reijo Tomperi * test/testtokenize.cpp: astyle fix 2009-06-18 Slava Semushin * src/tokenize.cpp, test/testtokenize.cpp: Fixed ticket #278 (variable id: references are not handled correctly) http://sourceforge.net/apps/trac/cppcheck/ticket/278 2009-06-18 Kimmo Varis * gui/applicationdialog.cpp: GUI: Use native file selection dialog to select viewer application. In Windows use *.exe filter since almost all executable applications have that extension so it makes no sense to show all files. 2009-06-18 Kimmo Varis * gui/mainwindow.cpp: GUI: Use native file selection dialog when selecting report file. 2009-06-17 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed a false positive (memory leak) This false positive was first discovered in the VLC sourcecode. The TestMemoryLeakInFunction::simple11 test case is a simplified test code of that code. 2009-06-17 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Use native dialogs in Windows for check file/directory selection. 2009-06-17 Reijo Tomperi * src/checkclass.cpp, test/testconstructors.cpp: Fix ticket #309 (false positive::is not assigned a value in 'A::operator=') http://sourceforge.net/apps/trac/cppcheck/ticket/309 2009-06-16 Daniel Marjamäki * src/checkmemoryleak.h, test/testmemleak.cpp: Created a new class for detecting leaks (forgetting to free struct members) 2009-06-16 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #131 (Regression: leak reported by 1.27 is not reported by 1.29) The leak will be reported as a definite bug again. Not just a possible bug. cppcheck don't know if the execution path is possible, but it knows that if the execution path is taken the memory leak will be certain. 2009-06-15 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Improved the "CheckMemoryLeak::functionReturnType" 2009-06-15 Reijo Tomperi * src/cppcheckexecutor.cpp, src/errorlogger.cpp, src/errorlogger.h: getXMLFooter() and getXMLHeader() functions added and taken into use 2009-06-15 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Fixed #264 (Memory Leak: alloc by assigning to a return value) The fix was inspired by the previous patch submitted by hoangtuansu 2009-06-15 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h: GUI: Refactor menu and toolbar creation to own methods. 2009-06-14 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket #405 (#ifdef A and #if defined A should be handled as same configuration) http://sourceforge.net/apps/trac/cppcheck/ticket/405 2009-06-14 Reijo Tomperi * gui/mainwindow.cpp: astyle fix 2009-06-15 Slava Semushin * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testmemleak.cpp, test/testtokenize.cpp: Fixed ticket #346 (adding a "const" token prevents detection of memory leak) http://sourceforge.net/apps/trac/cppcheck/ticket/346 2009-06-14 Vesa Pikki * gui/mainwindow.cpp: Made License and Authors dialogs a bit bigger. 2009-06-14 Daniel Marjamäki * src/token.cpp, src/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed #387 (Templates: template functions that return a pointer are not simplified correctly) * Fixed so that the tokenizer handle variable declarations better when the variable is assigned the return value of a template function * Fixed so that the simplifyTemplates detect that a template function is used when its return value is taken 2009-06-14 Kimmo Varis * gui/resultstree.cpp, gui/resultstree.h: GUI: Add new context menu items to copy filename/full path to clipboard. 2009-06-14 Kimmo Varis * : commit 801a241e0b6452ab773b9c9c769fa8b0c3fa775b Author: Kimmo Varis Date: Sun Jun 14 12:57:43 2009 +0300 2009-06-14 Daniel Marjamäki * : commit be52e573f3573af2497138719bb00d101ccef663 Author: Daniel Marjamäki Date: Sun Jun 14 11:28:25 2009 +0200 2009-06-14 Slava Semushin * src/token.cpp, src/token.h, src/tokenize.cpp: Token: introduce str(const std::string &) method. Get rid of useless std::string.c_str() calls. No functional change. 2009-06-14 Slava Semushin * src/tokenize.cpp, test/testtoken.cpp: Replace tok->previous()->previous() call to tok->tokAt(-2). Done by command: git grep -l 'previous()->previous()' | xargs sed -i 's|previous()->previous()|tokAt(-2)|' No functional change. 2009-06-14 Slava Semushin * src/checkmemoryleak.cpp: Replace tok->previous()->previous()->previous() call to tok->tokAt(-3). Done by command: git grep -l 'previous()->previous()->previous()' | xargs sed -i 's|previous()->previous()->previous()|tokAt(-3)|' No functional change. 2009-06-14 Slava Semushin * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testtoken.cpp: Replace tok->next()->next() call to tok->tokAt(2). Done by command: git grep -l 'next()->next()' | xargs sed -i 's|next()->next()|tokAt(2)|' No functional change. 2009-06-14 Slava Semushin * src/checkmemoryleak.cpp: Replace tok->next()->next()->next() call to tok->tokAt(3). Done by command: git grep -l 'next()->next()->next(),' | xargs sed -i 's|next()->next()->next()|tokAt(3)|' No functional change. 2009-06-14 Slava Semushin * src/checkmemoryleak.cpp: Replace tok->next()->next()->next()->next() call to tok->tokAt(4). Done by command: git grep -l 'next()->next()->next()->next(),' | xargs sed -i 's|next()->next()->next()->next()|tokAt(4)|' No functional change. 2009-06-14 Slava Semushin * test/testbufferoverrun.cpp, test/testconstructors.cpp, test/testmemleak.cpp: Embed errout.str() into ASSERT_EQUALS() call. Get rid of useless variables. No functional change. 2009-06-14 Daniel Marjamäki * src/checkunusedfunctions.cpp, test/testunusedfunctions.cpp: Fixed ticket #373 (False unused functions) Skip template functions when checking for unused functions 2009-06-14 Slava Semushin * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket #403 (false positive::Array index out of range) http://sourceforge.net/apps/trac/cppcheck/ticket/403 2009-06-14 Kimmo Varis * src/cppcheck.rc: Fix the copyright text in Windows executable. 2009-06-14 Kimmo Varis * gui/gui.qrc: GUI: Remove the SVG icon from the resources file as it is not used. 2009-06-13 Kimmo Varis * gui/gui.pro: GUI: Move Windows-specific options and files to own scope in project file. 2009-06-13 Kimmo Varis * gui/cppcheck-gui.rc: GUI: Include Windows resources from resource file having version info. 2009-06-13 Kimmo Varis * gui/gui.pro: GUI: Add common.h to the project. 2009-06-13 Reijo Tomperi * src/tokenize.cpp: Fixed ticket #398 (valgrind shows error when running testrunner) http://172.29.29.21/apps/trac/cppcheck/ticket/398 2009-06-12 Reijo Tomperi * gui/mainwindow.cpp, src/errorlogger.cpp: Fix ticket #397 (xml output doesn't encode " and & -characters as it should) http://sourceforge.net/apps/trac/cppcheck/ticket/397 2009-06-12 Vesa Pikki * gui/mainwindow.cpp: Force extension to the file and check save type by filter and not by filename. 2009-06-12 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #367 (Deallocating a deallocated pointer false positive when va_list used) The overall matching of functions when calls are made were improved. 2009-06-12 Reijo Tomperi * src/cppcheck.cpp: astyle fix 2009-06-12 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed ticket #374 (False positive: The scope of variable can be limited) A few refactorings and fixes were made 2009-06-12 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed ticket #392 (false positive and wrong allocation and deallocation not detected) http://sourceforge.net/apps/trac/cppcheck/ticket/392 2009-06-12 Slava Semushin * src/tokenize.cpp: Tokenizer::createLinks(): correct comment. No code change. 2009-06-12 Daniel Marjamäki * src/checkautovariables.h: doc: minor update. The [BR] is not working as I thought 2009-06-12 Daniel Marjamäki * src/check.h, src/checkautovariables.h, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkheaders.h, src/checkmemoryleak.h, src/checkother.h, src/checksecurity.h, src/checkstl.h, src/cppcheck.cpp: doc: generating wiki documentation 2009-06-12 Slava Semushin * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed ticket #390 (wrong allocation and deallocation not detected) http://sourceforge.net/apps/trac/cppcheck/ticket/390 2009-06-12 Daniel Marjamäki * src/check.h, src/checkautovariables.h, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkmemoryleak.h, src/checkother.h, src/checksecurity.h, src/checkstl.h: added a classInfo function for each check class 2009-06-11 Reijo Tomperi * src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fix ticket #386 (False positive (memory leak) with comma) http://apps.sourceforge.net/trac/cppcheck/ticket/386 2009-06-10 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #377 (False positive with "char a[]") Updated the tokenizer so "char a[]" is tokenized into "char *a" 2009-06-09 Reijo Tomperi * src/errorlogger.cpp, src/errorlogger.h: Partial fix for ticket #380 (Error reporting on unused functions) Returning hard coded line number 1 and assumed that severity should be "style" https://apps.sourceforge.net/trac/cppcheck/ticket/380 2009-06-09 Reijo Tomperi * cppcheck.cbp: codeblocks project file updated 2009-06-10 Slava Semushin * src/checkunusedfunctions.h: src/checkunusedfunctions.h: assign default values in initializer list. No functional change. 2009-06-09 Reijo Tomperi * gui/resultstree.cpp: Fix compile error in GUI 2009-06-10 Slava Semushin * src/cppcheck.cpp: Don't print message about missing source files when --errorlist used. Also exit with zero status in this case. Fix for 5193a36a6a2490f199de41c430482586557d9894 commit. 2009-06-10 Slava Semushin * : commit d9f2dd385b3f2ab16b45a2ef084fe7447fa04659 Author: Slava Semushin Date: Wed Jun 10 01:52:42 2009 +0700 2009-06-09 Daniel Marjamäki * src/checkautovariables.cpp, src/checkautovariables.h, src/checkother.cpp, src/checkother.h, test/testautovariables.cpp, test/testother.cpp: Refactoring: Moved CheckOther::returnPointerToLocalVariable to CheckAutoVariables 2009-06-09 Kimmo Varis * gui/resultstree.cpp: GUI: One messagebox was missing "this" parameter. 2009-06-09 Kimmo Varis * testrunner.vcproj: Update VS testrunner project. 2009-06-09 Vesa Pikki * gui/resultsview.cpp: Astyle formatting. 2009-06-09 Vesa Pikki * gui/mainwindow.cpp, gui/resultsview.cpp, gui/resultsview.h: Force progressbar to be visible when checking starts. 2009-06-09 Vesa Pikki * gui/applicationdialog.cpp, gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h: Added messagebox to inform user about not found/non visible errors. 2009-06-09 Vesa Pikki * : commit 814cd37c905e9016aaf45f3189d8401dfbf166af Author: Vesa Pikki Date: Tue Jun 9 09:30:28 2009 +0300 2009-06-09 Kimmo Varis * gui/readme.txt: GUI: Add readme file with instructions for running and compiling the GUI. 2009-06-08 Daniel Marjamäki * src/checkmemoryleak.h: Doxygen: Added a few simple doxygen comments for the leaks checking 2009-06-08 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Refactoring: Split up the CheckMemoryLeak into CheckMemoryLeakInFunction and CheckMemoryLeakInClass 2009-06-08 Daniel Marjamäki * Makefile, src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Refactoring: Renaming the CheckMemoryLeakClass to CheckMemoryLeak. Deleted testmemleakmp 2009-06-08 Daniel Marjamäki * test/testmemleakmp.cpp: deleted the testmemleakmp file 2009-06-08 Kimmo Varis * gui/settingsdialog.cpp: GUI: If application list contains applications select the first by default. 2009-06-08 Kimmo Varis * gui/resultstree.cpp: GUI: Show error message when the viewer application cannot be started. 2009-06-08 Kimmo Varis * gui/applicationdialog.cpp: Fix #378 (GUI doesn't start application if path contains spaces) In Windows we must surround paths including spaces with quotation marks. This patch fixes application path when it is read from Browse-dialog. 2009-06-08 Kimmo Varis * gui/applicationdialog.cpp: GUI: Show application path with native separators. 2009-06-08 Kimmo Varis * cppcheck.vcproj: Update VS project file after files were renamed. 2009-06-08 Kimmo varis * gui/gui.pro: GUI: Update project file after file renaming. 2009-06-07 Daniel Marjamäki * Makefile, src/checkfunctionusage.cpp, src/checkfunctionusage.h, src/checkunusedfunctions.cpp, src/checkunusedfunctions.h, src/cppcheck.cpp, src/cppcheck.h, test/testfunctionusage.cpp, test/testunusedfunctions.cpp: Refactoring: Renamed CheckFunctionUsage to CheckUnusedFunctions 2009-06-07 Daniel Marjamäki * src/checkautovariables.h, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkmemoryleak.h, src/checkother.h, src/checksecurity.h, src/checkstl.h: Added headers to the "--errorlist" output 2009-06-07 Kimmo Varis * : commit 8375d1f1aeef4273a73bd030357f373b2d360cae Author: Kimmo Varis Date: Sun Jun 7 14:46:34 2009 +0300 2009-06-07 Daniel Marjamäki * Changelog: Added a Changelog file that is generated automaticly by git2cl 2009-06-07 Daniel Marjamäki * createrelease, src/cppcheck.cpp, win_installer/cppcheck.iss: Updated version to 1.33 2009-06-07 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix ticket #371 (Resource leak when exit() and if() uses together) http://apps.sourceforge.net/trac/cppcheck/ticket/371 2009-06-06 Daniel Marjamäki * src/checkautovariables.cpp, test/testautovariables.cpp: Fix #370 (Assign auto variable to parameter false positive) 2009-06-06 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #368 (Leak detected when allocated memory assigned to member of structure which returned from function) The return value of strcpy wasn't handled very well 2009-06-06 Daniel Marjamäki * test/testfunctionusage.cpp: Refactoring: Simple code cleanup 2009-06-06 Kimmo Varis * : commit 3142a73fd99462a3c88d99fe31fdb6757fa65e80 Author: Kimmo Varis Date: Sat Jun 6 13:07:20 2009 +0300 2009-06-06 Kimmo Varis * gui/applicationdialog.cpp, gui/applicationdialog.h, gui/settingsdialog.cpp: GUI: Make Settings-dialog a parent of Add Application-dialog. 2009-06-06 Kimmo Varis * gui/mainwindow.cpp, gui/settingsdialog.cpp, gui/settingsdialog.h: GUI: Make mainwindow parent of Settings-dialog. 2009-06-06 Kimmo Varis * gui/applicationdialog.cpp: GUI: Astyle fix. 2009-06-06 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fix #153 (Unsigned divide) The "unsigned i" variable declaration wasn't handled well. So I added an "int" token. 2009-06-06 Kimmo Varis * gui/applicationdialog.cpp: GUI: Convert native path to internal presentation. If application path is edited by hand there can be native Windows path separators. Unify path separators to internal presentation before storing the path. 2009-06-06 Kimmo Varis * gui/main.cpp: GUI: Fix handling UTF-8 strings in sources. Our source files are UTF-8 and as such contain some chars outside 7-bit ASCII. To handle UTF-8 correctly we must set text codec for QT to UTF-8. 2009-06-06 Reijo Tomperi * src/tokenize.cpp, src/tokenize.h, test/testother.cpp: Fix ticket #364 (false positive:: division by zero) http://apps.sourceforge.net/trac/cppcheck/ticket/364 2009-06-05 Reijo Tomperi * cppcheck.cbp, gui/aboutdialog.cpp, gui/aboutdialog.h: UTF-8 fixes to GUI files aboutdialog.* added to codeblocks projectfile 2009-06-05 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #353 (No pair for character (').) http://apps.sourceforge.net/trac/cppcheck/ticket/353 2009-06-05 Daniel Marjamäki * src/check.h, src/cppcheck.cpp: Created an undocumented command line flag "--errorlist" that prints all messages 2009-06-05 Daniel Marjamäki * src/checkfunctionusage.cpp, test/testfunctionusage.cpp: Fix #359 (Incorrect unused function) 2009-06-05 Kimmo Varis * gui/aboutdialog.cpp: GUI: Fix warning from About-dialog layout. 2009-06-05 Kimmo Varis * : commit aaba5735ed6dd93b5fa74a79be65975106c96e45 Author: Kimmo Varis Date: Fri Jun 5 10:37:50 2009 +0300 2009-06-05 Kimmo Varis * win_installer/readme.txt: Update Windows installer readme for including QT GUI and other installer improvements. 2009-06-05 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed #354 (false positive: memory leak) 2009-06-05 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #360 (Teach about new(std::nothrow) form) http://apps.sourceforge.net/trac/cppcheck/ticket/360 2009-06-05 Slava Semushin * src/tokenize.cpp, test/testbufferoverrun.cpp: Fixed ticket #329 (snprintf size is out of bounds when two variables in one scope with similar names) FIXME: Because it's fix for simplifyTokenList() test should be moved to test/testsimplifytokens.cpp file. http://apps.sourceforge.net/trac/cppcheck/ticket/329 2009-06-05 Slava Semushin * test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testother.cpp, test/teststl.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp: Strip redundant std::string usage from tests. Second round: handle empty strings. Done by command: git grep -l ASSERT_EQUALS | xargs sed -i 's|ASSERT_EQUALS(std::string(\(".*"\)),|ASSERT_EQUALS(\1,|' Should be no functional change. 2009-06-05 Slava Semushin * src/checkclass.cpp, test/testclass.cpp: Fixed ticket #358 (Local typedef flagged as uninitialized member) http://apps.sourceforge.net/trac/cppcheck/ticket/358 2009-06-04 Kimmo Varis * gui/resultstree.cpp: GUI: Enable sorting in results view. 2009-06-04 Kimmo Varis * gui/settingsdialog.cpp: GUI: Improve Settings-dialog layout. 2009-06-04 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/threadhandler.cpp, gui/threadhandler.h: GUI: Prevent exiting the application while checking. 2009-06-04 Kimmo Varis * gui/aboutdialog.cpp: GUI: Add program icon to the About-dialog. 2009-06-04 Kimmo Varis * gui/aboutdialog.cpp, gui/aboutdialog.h, gui/gui.pro, gui/mainwindow.cpp: GUI: Add About-dialog. Replace messagebox containing about-text with dialog. About-dialog must contain copyright information. 2009-06-04 Kimmo Varis * gui/mainwindow.cpp: Remove some empty lines. 2009-06-04 Kimmo Varis * : commit a74faf334e2737c90f7f90e82b1be8d53a9ef7ee Author: Kimmo Varis Date: Thu Jun 4 12:38:08 2009 +0300 2009-06-03 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix ticket #352 (Memory leaks: Missed memory leak when "--all" is not given) http://apps.sourceforge.net/trac/cppcheck/ticket/352 Detect memory leaks without --all when there is "alloc ; assign callfunc ; 2009-06-03 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #351 (false positive::resource leak) http://apps.sourceforge.net/trac/cppcheck/ticket/351 2009-06-03 Vesa Pikki * gui/resultstree.h: Added a missing include. 2009-06-03 Vesa Pikki * gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: Added the initial version of saving results to a file. 2009-06-02 Reijo Tomperi * gui/applicationdialog.h, gui/applicationlist.h, gui/common.h, gui/settingsdialog.h, src/mathlib.cpp, src/mathlib.h: Changed EOL character to LF in a few files. 2009-06-02 Reijo Tomperi * gui/checkthread.cpp: astyle fix 2009-06-02 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #350 (False positive: Array index out of bounds) 2009-06-02 Kimmo Varis * doxyfile: Add GUI code to doxygen output. 2009-06-02 Kimmo Varis * gui/checkthread.cpp, gui/checkthread.h, gui/mainwindow.cpp, gui/threadhandler.cpp: GUI: Implement stopping the compare. Threads must be exited from check cleanly even though it takes small amount of time. Just terminating thread can have unpredictable side-effects (even weird crashes). 2009-06-02 Kimmo Varis * gui/threadresult.h: Fix mixed EOL style. 2009-06-02 Kimmo Varis * gui/mainwindow.cpp, gui/mainwindow.h, gui/resultsview.cpp, gui/resultsview.h: GUI: Add Collapse/Expand all -items to View-menu. 2009-06-02 Kimmo Varis * gui/mainwindow.h: Fix mixed EOL style. 2009-06-02 Kimmo Varis * gui/resultstree.h: Fix mixed EOL style. 2009-06-02 Kimmo Varis * gui/resultsview.h: Fix mixed EOL style. 2009-06-02 Kimmo Varis * gui/resultstree.cpp: GUI: Include result tree icons to resource (and executable). 2009-06-01 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed #339 (Buffer overrun not detected with pointer arrays) http://apps.sourceforge.net/trac/cppcheck/ticket/339 2009-06-01 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #349 (Add detection for resource leaks after tmpfile() usage) https://apps.sourceforge.net/trac/cppcheck/ticket/349 2009-06-01 Slava Semushin * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #348 (Simplify sizeof for pointers) https://apps.sourceforge.net/trac/cppcheck/ticket/348 2009-06-01 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyTokenList: use SizeOfType(). No functional change. 2009-06-01 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyTokenList: reduce indent. No functional change. 2009-06-01 Slava Semushin * src/tokenize.cpp: Tokenizer::simplifyTokenList: some improvements. Corrections for 2de4c516e9e5e3dd9590379b0e980c9fc484db89 commit: - declare variable near their usage - set right position of next token 2009-06-01 Slava Semushin * test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testother.cpp, test/testredundantif.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp: Strip redundant std::string usage from tests. Done by command: git grep -l ASSERT_EQUALS | xargs sed -i 's|ASSERT_EQUALS(std::string(\(".\+"\)),|ASSERT_EQUALS(\1,|' Should be no functional change. 2009-05-31 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fixed ticket #338 (Simplify sizeof for pointer arrays) by patch submitted by php-coderrr http://apps.sourceforge.net/trac/cppcheck/ticket/338 2009-06-01 Slava Semushin * src/tokenize.cpp: src/tokenize.cpp(unwantedWords): propagate const modifier. No functional change. 2009-05-31 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Variable Id: structs must not have variable id 2009-05-31 Slava Semushin * : commit fb0c217c3e4103219737a1e20e68e95b05ee82f3 Author: Slava Semushin Date: Sun May 31 20:48:40 2009 +0700 2009-05-31 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #344 (Tokenizer crash in Windows) http://apps.sourceforge.net/trac/cppcheck/ticket/344 2009-05-31 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fixed ticket #345 ('!' and 'not' tokens interpreted differently even though they mean the same) 2009-05-31 Daniel Marjamäki * src/errorlogger.cpp, src/errorlogger.h, test/testcppcheck.cpp: Fix ticket #318 ('..' in include will cause conflicting slashes in messages) 2009-05-31 Daniel Marjamäki * src/checkfunctionusage.cpp, test/testfunctionusage.cpp: Fix for #341 (Functions passed as pointer not detected as used) 2009-05-31 Daniel Marjamäki * src/cppcheck.cpp: cppcheck: removed the 'this may take several minutes' when checking unused functions. The check is much faster nowadays 2009-05-30 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leaks: calling function that deallocates the memory and allocates new memory https://apps.sourceforge.net/trac/cppcheck/ticket/336 2009-05-30 Kimmo Varis * gui/gui.pro: GUI: Add manifest for Windows build. 2009-05-30 Kimmo Varis * gui/gui.pro, src/filelister.cpp: GUI: Fix building with MinGW. Add shlwapi library to qmake project file. Use WCHAR instead of wchar_t. 2009-05-30 Kimmo Varis * src/filelister.cpp: Make GUI work in Windows compiled with VS. Since GUI is QT project it is also Unicode project. And other cppcheck code is ANSI code. So we must convert data between Unicode and ANSI when calling WinAPI functions. WinAPI functions want Unicode strings but e.g. std::string contains ANSI strings. 2009-05-30 Kimmo Varis * .gitignore: Add more generated GUI files to gitignore. 2009-05-30 Daniel Marjamäki * : commit d33139b2c781d1c4eda1b8ab56212aef5fb1cf42 Author: Daniel Marjamäki Date: Sat May 30 14:24:55 2009 +0200 2009-05-30 Kimmo Varis * src/filelister.cpp: Windows: Fix FileLister to send full paths instead of only filenames. 2009-05-30 Kimmo Varis * : commit b2d50ca512ca136732e69bb4e7d9641fd0d168e1 Author: Kimmo Varis Date: Sat May 30 10:32:33 2009 +0300 2009-05-30 Reijo Tomperi * AUTHORS, cppcheck.cbp, gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/checkthread.cpp, gui/checkthread.h, gui/common.h, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, src/check.h, src/checkautovariables.cpp, src/checkautovariables.h, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkfunctionusage.cpp, src/checkfunctionusage.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/checksecurity.cpp, src/checksecurity.h, src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/mathlib.cpp, src/mathlib.h, src/preprocessor.cpp, src/preprocessor.h, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, src/threadexecutor.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testautovariables.cpp, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmathlib.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsecurity.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp, tools/errmsg.cpp: Fix ticket #325 (Replace developer names in source files with AUTHORS file) http://apps.sourceforge.net/trac/cppcheck/ticket/325 2009-05-30 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #342 (Simplify "if( (true) == true )") http://apps.sourceforge.net/trac/cppcheck/ticket/342 2009-05-28 Reijo Tomperi * test/testtokenize.cpp: Changed expected result for test case TestTokenizer::removeParantheses3 to simplify it more 2009-05-28 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix bug related to ticket #330, cppcheck hanged with some files containing "((" http://apps.sourceforge.net/trac/cppcheck/ticket/330 2009-05-28 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Simplifying redundant parantheses http://apps.sourceforge.net/trac/cppcheck/ticket/330 2009-05-28 Kimmo Varis * gui/threadhandler.h: Fix EOL style (had Unix/DOS) mixed style. 2009-05-28 Kimmo Varis * gui/applicationdialog.cpp: GUI: Fix typo in Add New Application -dialog. 2009-05-28 Kimmo Varis * gui/mainwindow.cpp: GUI: Add separator in View-menu before check/uncheck all. 2009-05-28 Kimmo Varis * .gitignore: Add GUI build folders to gitignore. 2009-05-28 Kimmo Varis * gui/cppcheck-gui.rc, gui/gui.pro: GUI: Add application icon for Windows. 2009-05-28 Kimmo Varis * gui/mainwindow.cpp: GUI: Use PNG icon instead of SVG icon for Check directory -action. 2009-05-28 Kimmo Varis * gui/gui.pro, gui/gui.qrc, gui/main.cpp, gui/mainwindow.cpp, gui/resultstree.cpp: Add icon files to resource file. Having resource files compiled in the executable makes installing the application easier (especially on Windows). 2009-05-28 Kimmo Varis * src/filelister.cpp: Fix building GUI with Visual Studio. 2009-05-27 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #319 (Function names are tagged as variables) http://apps.sourceforge.net/trac/cppcheck/ticket/319 2009-05-27 Reijo Tomperi * test/testmemleak.cpp, test/testtokenize.cpp: Added test case TestMemleak::dealloc_and_alloc_in_func 2009-05-27 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket 330 (found memory leak when __builtin_expect uses) 2009-05-27 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket 308 (cppcheck msg:: invalid number of ((). Cant process file) 2009-05-27 Daniel Marjamäki * : commit 650d58e3de2a9487edc36e97fb55cf0ebefb9f77 Author: Daniel Marjamäki Date: Wed May 27 19:38:26 2009 +0200 2009-05-27 Kimmo Varis * win_installer/cppcheck.iss, win_installer/readme.txt: Installer: Add docoments to Start-menu. Add AUTHORS.txt, COPYING.txt and readme.txt to the Start-menu. Files are opened by default .txt file viewer which is usually Notepad. 2009-05-27 Kimmo Varis * win_installer/cppcheck.iss: Installer: Add .txt extension to text files. Windows does not know how to open files without extension in name so add .txt extension when installing for AUTHORS and COPYING. 2009-05-27 Kimmo Varis * win_installer/cppcheck.iss: Installer: Install AUTHORS-file. AUTHORS is good to install as it tells who are working with cppcheck. 2009-05-27 Kimmo Varis * win_installer/cppcheck.iss: Installer: Add large installer bitmap. Adding large installer image which is shown as "sidebar" of installer's welcome window. The bitmap is combination of Inno Setup standard image and cppcheck icon. 2009-05-27 Kimmo Varis * win_installer/readme.txt: Installer: Fix output folder name in installer readme. 2009-05-27 Kimmo Varis * win_installer/cppcheck.iss: Installer: Add small image shown in top of the installer. 2009-05-26 Reijo Tomperi * src/token.cpp, test/testtokenize.cpp: Fix ticket #334 (segmentation fault on boost 1.39.0) http://apps.sourceforge.net/trac/cppcheck/ticket/334 2009-05-26 Vesa Pikki * gui/mainwindow.cpp, gui/resultstree.cpp: Astyle formatting. 2009-05-26 Vesa Pikki * AUTHORS, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h: Added 22x22 icons from http://tango.freedesktop.org. Also added icon source to AUTHORS file. Also added toolbar with the default actions. Added icons to result files and errors. 2009-05-25 Daniel Marjamäki * gui/icon.svg, gui/main.cpp, logo.svg: renamed the logo files to icon instead 2009-05-25 Daniel Marjamäki * gui/main.cpp, logo.svg: logo: modified the logo so it looks better when used as mainicon for the gui program 2009-05-25 Vesa Pikki * gui/main.cpp: GUI now uses Cppcheck's logo. 2009-05-25 Daniel Marjamäki * logo.svg: Added a temporary logotype for cppcheck 2009-05-25 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fixed ticket #333 (tokenizer: incorrect removal of decrement/increment) 2009-05-25 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #317 (pre-increment causes style false positive) 2009-05-25 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #317 (pre-increment causes style false positive) 2009-05-24 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #332 (White space between macro name and '(' causes macro simplification to fail) http://apps.sourceforge.net/trac/cppcheck/ticket/332 2009-05-24 Vesa Pikki * : commit d9c36eada2cdc5f6c2e9b8f92bd319789fc588eb Author: Vesa Pikki Date: Sun May 24 12:09:37 2009 +0300 2009-05-24 Vesa Pikki * gui/applicationlist.cpp, gui/applicationlist.h, gui/settingsdialog.cpp, gui/settingsdialog.h: User can now undo changes to application list by clicking cancel. 2009-05-24 Vesa Pikki * gui/applicationdialog.cpp, gui/applicationlist.cpp, gui/mainwindow.cpp, gui/settingsdialog.cpp: Astyle formatting. 2009-05-24 Vesa Pikki * gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/checkthread.cpp, gui/checkthread.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/settingsdialog.cpp: Fixed issues pointed out by Reijo. The number of threads is now atleast 1. Added a very simple about dialog with version number and license. Replaced all CppCheck's with Cppcheck. Renamed "show more errors" to "show possible false positives" in the menu. User created application now has to have a name and a path. 2009-05-24 Slava Semushin * src/checkmemoryleak.cpp: src/checkmemoryleak.cpp(GetAllocationType): simplify condition a bit. Replace two Token::simpleMatch() calls to one Token::Match(). Correction for my previous (2654a4aa54457f71b5dbcdc43ee714a054e65069) commit. No functional change. 2009-05-22 Slava Semushin * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Added support to search resource leaks after opendir()/fdopendir() usage. 2009-05-20 Slava Semushin * src/checkother.cpp, test/testother.cpp: Part of fix for ticket #284 (style check: redundant condition improvement) Fixed case "if (p) delete [] p;" and also added test case for it. http://apps.sourceforge.net/trac/cppcheck/ticket/284 2009-05-20 Slava Semushin * src/checkother.cpp, test/testother.cpp: Part of fix for ticket #284 (style check: redundant condition improvement) Fixed case "if (p != NULL) delete p;" and also added test case for it. http://apps.sourceforge.net/trac/cppcheck/ticket/284 2009-05-24 Slava Semushin * src/checkmemoryleak.cpp: src/checkmemoryleak.cpp(GetDeallocationType): removed brackets. No functional change. 2009-05-23 Vesa Pikki * gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.h, gui/common.h, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.h, gui/settingsdialog.h, gui/threadhandler.h, gui/threadresult.h: Added more comments to class members and methods. 2009-05-23 Vesa Pikki * gui/applicationlist.cpp, gui/applicationlist.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/settingsdialog.cpp, gui/settingsdialog.h: Now starts the default application by double clicking the error. 2009-05-23 Vesa Pikki * : commit 70c32c10e4e3b69562d00ffc2922f46f7c280ee8 Author: Vesa Pikki Date: Sat May 23 14:26:04 2009 +0300 2009-05-23 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Added 17 functions which work with FILE structure to white list. Inspired by previous commit. 2009-05-23 Vesa Pikki * gui/applicationdialog.cpp, gui/applicationdialog.h, gui/applicationlist.cpp, gui/applicationlist.h, gui/gui.pro, gui/mainwindow.cpp, gui/mainwindow.h, gui/settingsdialog.cpp, gui/settingsdialog.h: Added the ability to add/remove/modify applications to open errors with. Only the list of applications added, errors cant be opened yet. 2009-05-23 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #327 (File descriptor leak not detected when feof() used) Thanks to aggro80@ for help. http://apps.sourceforge.net/trac/cppcheck/ticket/327 2009-05-23 Vesa Pikki * gui/resultstree.cpp, gui/resultstree.h: When adding a new error, only hides it and doesn't check all errors. 2009-05-23 Vesa Pikki * gui/common.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/test.cpp, gui/threadhandler.cpp, gui/threadresult.cpp, gui/threadresult.h: Results tree now uses only QStandardItemModel for data storage. Items are now hidden from the tree and the tree is not recreated everytime it is refreshed. Also added test.cpp as a sample data for GUI testing. Added Check all and uncheck all buttons to menu to show/hide all errors more easily. 2009-05-23 Vesa Pikki * gui/gui.pro: Updated new cppcheck files to project file. 2009-05-23 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #304 (#include should be searched from paths given with -I parameter.) http://apps.sourceforge.net/trac/cppcheck/ticket/304 Note that the ticket is same as with previous commit, but task description was changed a little. 2009-05-22 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #304 (#include should be parsed like #include "file.h" is being parsed) http://apps.sourceforge.net/trac/cppcheck/ticket/304 2009-05-22 Reijo Tomperi * src/tokenize.cpp, test/testmemleak.cpp: Fix ticket #326 (Reported memory leak when pointer returned by assign to function's parameter) http://apps.sourceforge.net/trac/cppcheck/ticket/326 2009-05-22 Slava Semushin * src/checkfunctionusage.cpp, src/checkmemoryleak.cpp, src/tokenize.cpp: Replaced two Token::simpleMatch() calls to one Token::Match(). Suggested by hyd_danmar in ticket http://apps.sourceforge.net/trac/cppcheck/ticket/323 No functional change. 2009-05-22 Slava Semushin * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed ticket #324 (Teach about fcloseall() function) http://apps.sourceforge.net/trac/cppcheck/ticket/324 2009-05-22 Slava Semushin * src/checkdangerousfunctions.h: Fixed ticket #300 (wrong level given) Enable checks of dangerous functions only when --style option used. http://apps.sourceforge.net/trac/cppcheck/ticket/300 2009-05-22 Slava Semushin * src/checkautovariables.cpp, src/checkother.cpp, tools/errmsg.cpp: Propagate static and const modifiers. No functional change. 2009-05-22 Slava Semushin * src/checkautovariables.cpp, src/checkdangerousfunctions.cpp: Removed unused or superfluous headers. No functional change. 2009-05-22 Slava Semushin * src/checkautovariables.cpp, src/checkautovariables.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, test/testautovariables.cpp, test/testdangerousfunctions.cpp: Updated wrong comments (looks like after copy&paste). No code change. 2009-05-21 Reijo Tomperi * man/cppcheck.1.xml: Updated man page to reflect AUTHORS file. 2009-05-21 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #299 (Memory leak not detected when parameters contain ::) http://apps.sourceforge.net/trac/cppcheck/ticket/299 2009-05-21 Daniel Marjamäki * AUTHORS: AUTHORS: Added an authors file Ticket: http://apps.sourceforge.net/trac/cppcheck/ticket/325 2009-05-21 Daniel Marjamäki * src/checkautovariables.cpp, src/checkclass.cpp, src/checkfunctionusage.cpp, src/checkheaders.cpp, src/checkmemoryleak.cpp, src/checkother.cpp, src/checkstl.cpp, src/preprocessor.cpp, src/tokenize.cpp: Applied patch 0001-Use-Token-simpleMatch-instead-of-Token-Match-w Author: php-coder Ticket: http://apps.sourceforge.net/trac/cppcheck/ticket/323 2009-05-21 Daniel Marjamäki * src/checkmemoryleak.cpp: Applied patch 0003-GetAllocationType-mark-some-members-as-static-and-a.patch Author: php-coder Ticket: http://apps.sourceforge.net/trac/cppcheck/ticket/321 2009-05-21 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h: Applied patch 0002-CheckMemoryLeak-renamed-enum-members.patch Author: php-coder 2009-05-21 Daniel Marjamäki * src/checkmemoryleak.h: Applied patch 0001-src-checkmemoryleak.h-replaced-assignment-in-contru.patch Author: php-coder 2009-05-20 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #316 (\n is tokenized into \\ in a string when macro is used) http://apps.sourceforge.net/trac/cppcheck/ticket/316 2009-05-19 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Apply patch #320 from php-coderrr ([PATCH] Determine memory leaks after strndup() usage) http://apps.sourceforge.net/trac/cppcheck/ticket/320 2009-05-19 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #315 (Segmentation fault when checking Linux kernel) (previous fix was only partial fix) http://apps.sourceforge.net/trac/cppcheck/ticket/315 2009-05-18 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #315 (Segmentation fault when checking Linux kernel) http://apps.sourceforge.net/trac/cppcheck/ticket/315 2009-05-18 Reijo Tomperi * src/checkclass.cpp, test/testconstructors.cpp: astyle fix 2009-05-17 Daniel Marjamäki * src/checkclass.cpp, test/testconstructors.cpp: Classes: Static variables don't need to be initialized or assigned in constructors etc http://apps.sourceforge.net/trac/cppcheck/ticket/307 2009-05-17 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: STL: It is ok to compare vector iterators with < https://apps.sourceforge.net/trac/cppcheck/ticket/313 2009-05-17 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix for ticket 291 - preprocessor: better handling of defines http://apps.sourceforge.net/trac/cppcheck/ticket/291 2009-05-14 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #312 (division by pointer value causes wrong tokenizing) http://apps.sourceforge.net/trac/cppcheck/ticket/312 2009-05-13 Daniel Marjamäki * test/testpreprocessor.cpp: Preprocessor: Added test case for #291. One of the assertions is a TODO and it should be fixed. http://apps.sourceforge.net/trac/cppcheck/ticket/291 2009-05-13 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #306 (Invalid multi-line comment produces cryptic internal error) http://apps.sourceforge.net/trac/cppcheck/ticket/306 2009-05-13 Reijo Tomperi * src/tokenize.cpp, test/testpreprocessor.cpp: Added TODO test case TestPreprocessor::multiline_comment Made tokenizer to printout token list in case of syntax error, if debug is used 2009-05-12 Reijo Tomperi * test/testmemleak.cpp: Added TODO test case TestMemleak::stdstring 2009-05-12 Reijo Tomperi * test/testtoken.cpp, test/testtokenize.cpp: Fix ticket #305 (Negative value passed to ASSERT_EQUALS) http://apps.sourceforge.net/trac/cppcheck/ticket/305 Moved also test case from testtokenizer to testtoken. 2009-05-11 Reijo Tomperi * src/cppcheck.cpp, src/tokenize.cpp, src/tokenize.h, test/teststl.cpp, test/testtokenize.cpp: Fix ticket #288 (Tokenizer::syntaxError should use error logger instead of std::cout) http://apps.sourceforge.net/trac/cppcheck/ticket/288 2009-05-11 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #302 (White space between "\" and newline not handled correctly) http://apps.sourceforge.net/trac/cppcheck/ticket/302 2009-05-10 Daniel Marjamäki * createrelease, src/cppcheck.cpp, win_installer/cppcheck.iss: Updated version to 1.32 2009-05-10 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: null pointer dereferencing: check that its a pointer that is dereferenced to avoid false positives when using classes that behave almost like pointers (#295) 2009-05-10 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: Handling exit (#297) 2009-05-09 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fix #289 (if() is not properly tokenized) http://apps.sourceforge.net/trac/cppcheck/ticket/289 2009-05-09 Reijo Tomperi * src/threadexecutor.cpp: Apply #296 ([PATCH] cppcheck leak memory when -j option uses) http://apps.sourceforge.net/trac/cppcheck/ticket/296 2009-05-09 Reijo Tomperi * src/preprocessor.cpp, src/tokenize.cpp, src/tokenize.h, test/testpreprocessor.cpp: Fix ticket #294 (### Error: Invalid number of character () http://apps.sourceforge.net/trac/cppcheck/ticket/294 2009-05-09 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: fixed problem when for example calling static member function in a template class (#293) 2009-05-08 Kimmo Varis * win_installer/cppcheck.iss, win_installer/readme.txt: Add VS runtimes to the Windows installer. cppcheck requires VS 9 runtimefiles to run. Those runtimes are installed by many programs and it is probable lots of people already have them. But still there are users without those files. And for them it is non-trivial task to get cppcheck to run. So better just include runtimes for everybody. 2009-05-08 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: template: no usage -> no expansion (#292) 2009-05-07 Reijo Tomperi * cppcheck.cbp: testautovariables added to the codeblocks project file 2009-05-07 Reijo Tomperi * src/cppcheck.cpp, src/tokenize.cpp, src/tokenize.h, test/testautovariables.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/teststl.cpp, test/testtokenize.cpp: Initial fix for ticket #283 (segmentation fault when checking xterm sources) http://apps.sourceforge.net/trac/cppcheck/ticket/283 It should print out error message now instead of crashing. Cleanup is needed. 2009-05-07 Daniel Marjamäki * src/tokenize.cpp: templates: don't expand forward declarations for templates 2009-05-06 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix ticket #282 (protected destructor - false positive) http://apps.sourceforge.net/trac/cppcheck/ticket/282 2009-05-06 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: stl: removed false positives for STL buffer overruns. Bailing out when it can't be checked if the index is ok or not. (#285) 2009-05-06 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memleak: removed false positives for pclose (#286) 2009-05-06 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: instantiations in a template class (#280) 2009-05-06 Reijo Tomperi * test/testmemleak.cpp: Added TODO test case TestMemleak::assign_pclose 2009-05-05 Reijo Tomperi * test/testsimplifytokens.cpp: Added test case TestSimplifyTokens::template7 2009-05-05 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: speedup by breaking out inner loops (#257) 2009-05-05 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Handling newlines when using # to stringify parameters (#281) 2009-05-03 Daniel Marjamäki * src/tokenize.cpp: speedup: made the token simplifications a little faster 2009-05-03 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h: templates: extracted the template simplification into a separate function 2009-05-03 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix #276 (simplification: Variable value) http://apps.sourceforge.net/trac/cppcheck/ticket/276 2009-05-03 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkclass.cpp, src/checkheaders.cpp, src/checkmemoryleak.cpp, src/token.cpp, src/token.h, src/tokenize.cpp, test/testtokenize.cpp: Fix #279 (Refactoring: replace and remove Token::aaaa , Token::aaaa0 and Token::aaaa1) http://apps.sourceforge.net/trac/cppcheck/ticket/279 2009-05-03 Daniel Marjamäki * src/tokenize.cpp: varid: speedup of the algorithm for setting variable ids 2009-05-03 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: varid: updated handling of variable id for class variables (#26) 2009-05-03 Reijo Tomperi * src/tokenize.cpp: Fix possible bug caused by previous commit. 2009-05-03 Reijo Tomperi * src/tokenize.cpp: Fix slowlyness, caused by one of the previous commits. 2009-05-03 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: stl: Fixed ticket #277 - dereferencing an iterator that has been erased 2009-05-02 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: give class member variables varId (#26) 2009-05-02 Daniel Marjamäki * test/teststl.cpp: stl: added a ticket for the todo test case TestStl::eraseDereference 2009-05-02 Daniel Marjamäki * test/teststl.cpp: stl: added todo test case, invalid iterator after insert 2009-05-02 Daniel Marjamäki * test/teststl.cpp: stl: added todo test case, erasing invalid iterator 2009-05-02 Daniel Marjamäki * test/teststl.cpp: stl: added test case, dereferencing an iterator that has been erased 2009-05-02 Daniel Marjamäki * test/testmathlib.cpp: testing mathlib: Test that conversion to numbers work 2009-05-02 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkother.cpp, src/mathlib.h, src/tokenize.cpp: Refactoring: Using MathLib for converting string to number commit beacd5793f9e9987432a20ac39a76ae6c2c8babd Author: Daniel Marjamäki Date: Sat May 2 10:44:18 2009 +0200 memleak: using mathlib commit 4d28172a5d88cc2cbe5ed94a4e4fdbd0dd4bb5e1 Author: Daniel Marjamäki Date: Sat May 2 10:35:06 2009 +0200 tokenizer: using the MathLib for converting string to number commit 4e4b95b3554c9c6d121efeb39741204b1621b1a3 Author: Daniel Marjamäki Date: Sat May 2 10:28:39 2009 +0200 CheckOther: Using mathlib 2009-05-01 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testtokenize.cpp: refactoring: Replaced 'aaaa' 2009-05-01 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #204 (false positive::memory leak with --all when free is guarded by simple if) http://apps.sourceforge.net/trac/cppcheck/ticket/204 2009-05-01 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: simplify assembler (#270), fix _asm also. http://apps.sourceforge.net/trac/cppcheck/ticket/270 2009-05-01 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix ticket #196 (False positive: Resource leak) http://apps.sourceforge.net/trac/cppcheck/ticket/196 2009-05-01 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: simplify assembler (#270) 2009-05-01 Reijo Tomperi * src/tokenize.cpp: Astyle fix 2009-05-01 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #275 Simplify if( a == 0 ), if( 0 == a ) into if( !a ) http://apps.sourceforge.net/trac/cppcheck/ticket/275 2009-05-01 Daniel Marjamäki * test/testconstructors.cpp: astyle formatting 2009-05-01 Daniel Marjamäki * test/testconstructors.cpp: class checking: enabled test case. The --all setting must be provided 2009-05-01 Reijo Tomperi * test/testmemleak.cpp: astyle fix 2009-05-01 Reijo Tomperi * src/checkmemoryleak.cpp, test/testconstructors.cpp, test/testmemleak.cpp: Fix partially ticket #196 False positive: Resource leak And add few test cases related to it. Move one failing test behind TODO http://apps.sourceforge.net/trac/cppcheck/ticket/196 2009-05-01 Daniel Marjamäki * src/checkclass.cpp: class checking: only check class assignments if the --all has been given 2009-05-01 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, test/testconstructors.cpp: class checking: Checking that vectors/lists/strings etc are modified in the assignment function 2009-04-29 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #269 (Incorrect variable id, when delete is used.) http://apps.sourceforge.net/trac/cppcheck/ticket/269 2009-04-29 Reijo Tomperi * test/testtokenize.cpp: Added test case TestTokenizer::varid_delete for ticket #269 http://apps.sourceforge.net/trac/cppcheck/ticket/269 2009-04-29 Reijo Tomperi * test/testmemleak.cpp: Added test case TestMemleak::free_member_in_sub_func for ticket #253 http://apps.sourceforge.net/trac/cppcheck/ticket/253 2009-04-29 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: stl: checking that iterator is used against a single container 2009-04-29 Daniel Marjamäki * test/teststl.cpp: stl: added todo test case about using same iterator with different containers 2009-04-28 Daniel Marjamäki * test/teststl.cpp: changed todo comment to TODO_ASSERT_EQUALS 2009-04-28 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: checkstl: Check for invalid pointer to vector element 2009-04-28 Daniel Marjamäki * test/testconstructors.cpp: added todo test case for detecting unmodified containers in the operator= function 2009-04-28 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: handling std::auto_ptr (#266) 2009-04-27 Daniel Marjamäki * : commit b49997e69d7d058ea722d2d7ef8d4a231a514181 Author: Daniel Marjamäki Date: Mon Apr 27 21:29:03 2009 +0200 2009-04-26 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Improve fix to ticket #261: Allow macro definition to have uncoupled double quote. http://apps.sourceforge.net/trac/cppcheck/ticket/261 2009-04-26 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: Report correct file and line in message 'No pair for character..' (#261) 2009-04-25 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: push_back: updated the checking of push_back (#263) 2009-04-25 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: varid: Set variable id for stl containers and iterators 2009-04-25 Daniel Marjamäki * test/teststl.cpp: push_back: added a few todo test cases for the checking of push_back 2009-04-23 Reijo Tomperi * src/errorlogger.cpp: astyle fix 2009-04-23 Daniel Marjamäki * src/errorlogger.cpp, test/testcppcheck.cpp: xml generator: handle '<' and '>' (#263) 2009-04-20 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #258 (segmentation fault) http://apps.sourceforge.net/trac/cppcheck/ticket/258 2009-04-19 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: return pointer to local array: fixed false positive when return value is converted to for instance a std::string (#255) 2009-04-16 Daniel Marjamäki * src/mathlib.cpp, src/mathlib.h, test/testmathlib.cpp: mathlib: Fixed todo 3/2=1 2009-04-14 Reijo Tomperi * src/tokenize.cpp: Fix ticket #257 (Improve speed of template tokenizing) http://apps.sourceforge.net/trac/cppcheck/ticket/257 2009-04-14 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: private functions: don't report false positives when using initialization lists (#254) 2009-04-13 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: STL boundries: added new check written by Bill Eggert (#247) 2009-04-13 Kimmo Varis * .gitignore: Improve gitignore file for VS. Improve gitignore to ignore Visual Studio build directories and other VS generated files not wanted in version control. 2009-04-13 Reijo Tomperi * cppcheck.cbp, gui/threadhandler.cpp, src/check.h: Fix ticket #252 (Fix --style warnings in cppcheck) http://apps.sourceforge.net/trac/cppcheck/ticket/252 2009-04-12 Daniel Marjamäki * createrelease, src/cppcheck.cpp, win_installer/cppcheck.iss: updated version to 1.31 2009-04-12 Daniel Marjamäki * test/testmathlib.cpp: math lib: 3/2 should result in 1 2009-04-10 Reijo Tomperi * src/checkstl.cpp, test/teststl.cpp: Fix ticket #248 (STL erase check broken?) http://apps.sourceforge.net/trac/cppcheck/ticket/248 2009-04-10 Daniel Marjamäki * cppcheck.sln, cppcheck.vcproj, testrunner.sln, testrunner.vcproj: changed mode of visual studio files 2009-04-10 Daniel Marjamäki * cppcheck.sln, cppcheck.vcproj, testrunner.sln, testrunner.vcproj: updated Visual Studio files 2009-04-09 Reijo Tomperi * cppcheck.cbp: Add mathlib to codeblocks projectfile 2009-04-09 Daniel Marjamäki * src/mathlib.cpp, src/mathlib.h: mathlib: Added licence text 2009-04-06 Daniel Marjamäki * src/tokenize.cpp: simplify calculations: Don't simplify division with 0 2009-04-06 Daniel Marjamäki * Makefile, src/tokenize.cpp: tokenize: use mathlib when simplifying calculations (ticket: 236) 2009-04-06 Daniel Marjamäki * Makefile, cppcheck.geany, src/mathlib.cpp, src/mathlib.h, test/testmathlib.cpp: added testing for mathlib 2009-04-06 Daniel Marjamäki * Makefile, src/mathlib.cpp, src/mathlib.h: Added math library that was created by hoangtuansu 2009-04-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #212 (Tokenizer: Handle L "text") http://apps.sourceforge.net/trac/cppcheck/ticket/212 2009-04-05 Reijo Tomperi * src/preprocessor.cpp: Fix ticket #244 (Headers from included file are searched from wrong path) http://apps.sourceforge.net/trac/cppcheck/ticket/244 2009-04-04 Leandro Lisboa Penz * .gitignore: .gitignore: do not show status of built files. 2009-04-04 Leandro Lisboa Penz * test/testmemleak.cpp: checkmemoryleak: fixed and reactivated forwhile9 and forwhile10 tests. 2009-04-04 Reijo Tomperi * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fix ticket #243 (boundary checking) http://apps.sourceforge.net/trac/cppcheck/ticket/243 2009-04-03 Reijo Tomperi * test/testpreprocessor.cpp: astyle fix 2009-04-03 Reijo Tomperi * src/cppcheck.cpp, src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix ticket #242 (Preprocessor: Bail out on failure instead of terminating the program) http://apps.sourceforge.net/trac/cppcheck/ticket/242 2009-04-03 Reijo Tomperi * src/checksecurity.cpp: Fix some potential null pointer crashes 2009-03-31 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, test/testconstructors.cpp: operator=: changed error message when variable is not assigned 2009-03-31 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #239 (missing function implementation in namespace causes crash) http://apps.sourceforge.net/trac/cppcheck/ticket/239 2009-03-29 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: division with zero => division by zero 2009-03-29 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: zero division: it's an error 2009-03-29 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: tokenizer: don't replace sizeof when size can't be determined (#233) 2009-03-28 Reijo Tomperi * src/checkautovariables.cpp: astyle fix 2009-03-28 Gianluca Scacco * test/testautovariables.cpp: Added new test to autovariable 2009-03-28 Gianluca Scacco * src/checkautovariables.cpp, test/testautovariables.cpp: Fixed ticket #228: false positive with usage of an auto-variable 2009-03-28 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Don't treat typedefs as variable declarations (#234) 2009-03-28 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: refactoring the TODO test cases 2009-03-28 Daniel Marjamäki * src/token.cpp, src/token.h, src/tokenize.cpp: performance enhancement (patch submitted by davidmiller in ticket 231) 2009-03-28 Nicolas Le Cam * test/testmemleak.cpp: Add TestMemleak::realloc4 that currently fail. Change TestMemleak::if10, TestMemleak::forwhile8 and TestMemleak::realloc2 as they are currently leaking memory, mark them as TODO. Comment out TestMemleak::forwhile9 and TestMemleak::forwhile10 as they are wrong (infinite loops). 2009-03-28 Daniel Marjamäki * test/testother.cpp: removed TestOther::zeroDiv3 - it is not valid 2009-03-28 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: added check for zero division. The code was written by Nguyen Duong Tuan 2009-03-27 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, test/testother.cpp: possible null pointer dereference after a while-loop 2009-03-27 Daniel Marjamäki * src/checkother.h: moved checks back to style (where they used to be) 2009-03-27 Daniel Marjamäki * src/tokenize.cpp: tokenizer: fix segmentation fault if end of token list is reached 2009-03-25 Daniel Marjamäki * test/testclass.cpp, test/testmemleak.cpp, test/testsuite.h: testing: new handling of todo test cases. If they use TODO_ASSERT_EQUALS instead we can detect when they are fixed 2009-03-25 Daniel Marjamäki * test/testtokenize.cpp: variable id: enabled test case for function parameters 2009-03-25 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: variable id: give std::string variables an id 2009-03-25 Daniel Marjamäki * src/checkautovariables.cpp: astyle formatting 2009-03-25 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: Buffer overrun: Added check to detect when size argument to memset is a char constant (#213) 2009-03-25 Daniel Marjamäki * src/tokenize.cpp, test/testmemleak.cpp, test/testtokenize.cpp: simplify tokens (known variable values in conditions) 2009-03-24 Gianluca Scacco * src/checkautovariables.cpp: Fixed Ticket #202: Return of the address of an auto-variable 2009-03-24 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: Fixed ticket 216 (False positive: variable scope) 2009-03-24 Daniel Marjamäki * src/checkclass.cpp: register CheckClass 2009-03-24 Daniel Marjamäki * src/checkother.cpp: fixed testcase 2009-03-24 Daniel Marjamäki * test/testother.cpp: added testcase 2009-03-24 Daniel Marjamäki * src/checkother.cpp: Fixed ticket 197 (false positive: condition is always true/false) 2009-03-24 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: fixed snprintf false positive (#210) 2009-03-24 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Simplify if conditions more.. simplifyIfAssign + simplifyIfNot 2009-03-23 Daniel Marjamäki * src/checkother.cpp, test/testcharvar.cpp: Fixed ticket 205 (False positive: char variable used in bit operation) 2009-03-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fixed the testcase TestMemleak::realloc3 2009-03-23 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: simplify tokens: move assignment out from condition (Ticket #201) 2009-03-22 Daniel Marjamäki * test/testmemleak.cpp: added todo test case for ticket 200 2009-03-22 Vesa Pikki * gui/settingsdialog.cpp, gui/settingsdialog.h: Removed unnecessary options from settings dialog. 2009-03-22 Daniel Marjamäki * : commit a87419f59b099adc374d74a103835b66b7ee2f22 Author: Daniel Marjamäki Date: Sun Mar 22 18:57:53 2009 +0100 2009-03-22 Vesa Pikki * gui/mainwindow.cpp: Added a window title. 2009-03-22 Vesa Pikki * gui/common.h: Added license text. 2009-03-22 Vesa Pikki * : commit 1e66d7f0e44949fc56e57b93cf1c106b736a363e Author: Vesa Pikki Date: Sun Mar 22 19:41:32 2009 +0200 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/resultstree.cpp: Conflicts: gui/mainwindow.cpp gui/resultstree.cpp 2009-03-22 Vesa Pikki * gui/common.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Merged gui branch to master. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp: Astyle formatting. 2009-03-22 Vesa Pikki * gui/common.h, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h: Can now hide and show results based on cpp flags. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/mainwindow.h: Added view menu and buttons for it. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/threadhandler.cpp, gui/threadhandler.h: Added recheck and clear results buttons. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/threadhandler.cpp: astyle formatting. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/threadhandler.cpp, gui/threadhandler.h: Added recheck and clear results buttons. 2009-03-22 Vesa Pikki * gui/mainwindow.cpp, gui/resultstree.cpp, gui/settingsdialog.h, gui/threadhandler.cpp, test/testautovariables.cpp: Astyle formatting. 2009-03-22 Vesa Pikki * : commit 5e1994068ad4d81d38cc9cbf4ff7beff58cdac25 Author: Vesa Pikki Date: Sun Mar 22 14:32:07 2009 +0200 2009-03-22 Vesa Pikki * gui/checkdialog.cpp, gui/checkdialog.h: Removed check dialog. Files to be checked are selected by default file open dialog with all checking options enabled. 2009-03-22 Daniel Marjamäki * Makefile: updated the Makefile 2009-03-22 Gianluca Scacco * Makefile, test/testautovariables.cpp: Fixed error compiling testautovariables 2009-03-22 Daniel Marjamäki * src/checkautovariables.cpp: astyle code formatting 2009-03-22 Daniel Marjamäki * : commit e017d5a07928fba2836dbcfa96d7ca42b3a4634c Author: Daniel Marjamäki Date: Sun Mar 22 08:20:15 2009 +0100 2009-03-22 Gianluca Scacco * src/checkautovariables.cpp, src/checkautovariables.h: Refactoring of CheckAutoVariables 2009-03-21 Daniel Marjamäki * src/tokenize.cpp: improved the Tokenizer::setVarId to handle function parameters better 2009-03-21 Daniel Marjamäki * src/check.h, src/checkautovariables.cpp, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/errorlogger.h: refactoring error messages 2009-03-21 Daniel Marjamäki * Makefile: updated the MakeFile 2009-03-21 Daniel Marjamäki * Makefile, src/checkautovariables.cpp: Fixed 188 (Return of auto variable address), applied patched submitted by gscacco 2009-03-21 Daniel Marjamäki * src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checksecurity.cpp, src/checksecurity.h, src/errorlogger.h, test/testsecurity.cpp: refactoring error messages 2009-03-21 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/checkstl.cpp, src/checkstl.h, src/errorlogger.h: refactoring error messages 2009-03-21 Daniel Marjamäki * cppcheck.geany: added geany project file 2009-03-21 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, test/teststl.cpp: refactoring - handling the stlOutOfBounds error message the new way 2009-03-21 Daniel Marjamäki * src/check.h, src/checkstl.h: refactoring - added a function getErrorMessages that will be used to get a list of error messages 2009-03-21 Daniel Marjamäki * src/checkautovariables.h, test/teststl.cpp: refactoring - fixed the unit tests 2009-03-21 Daniel Marjamäki * Makefile, tools/dmake.cpp, tools/errmsg.cpp: refactoring: The errmsg is no longer supposed to generate the errorLogger code 2009-03-21 Daniel Marjamäki * src/check.h, src/checkautovariables.h, src/checkbufferoverrun.h, src/checkclass.h, src/checkdangerousfunctions.h, src/checkmemoryleak.h, src/checkother.h, src/checkstl.h, src/cppcheck.cpp: refactoring: there are now 2 functions for running checks. 'runChecks' and 'runSimplifiedChecks' 2009-03-20 Daniel Marjamäki * Makefile, cppcheck.cbp, src/check.h, src/checkstl.cpp: refactoring 2009-03-20 Daniel Marjamäki * src/check.h, src/checkstl.cpp, src/checkstl.h: refactoring: generate error message in the class 2009-03-20 Daniel Marjamäki * src/check.h: refactoring: Added a function to the Check base class that allows easier error reporting 2009-03-20 Daniel Marjamäki * src/token.cpp: improved Token::tokAt to handle negative argument too 2009-03-20 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, test/testcharvar.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testother.cpp, test/testredundantif.cpp, test/testunusedvar.cpp: refactoring the rest of the classes 2009-03-20 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/cppcheck.cpp, test/testbufferoverrun.cpp: refactoring checkbufferoverrun 2009-03-20 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, src/cppcheck.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testunusedprivfunc.cpp: refactoring CheckClass 2009-03-20 Daniel Marjamäki * src/check.h, src/checkstl.cpp, src/checkstl.h: refactoring 2009-03-19 Daniel Marjamäki * : commit 5565be0c74cbda4de3582dab1d057710de76d7ce Author: Daniel Marjamäki Date: Thu Mar 19 21:20:08 2009 +0100 2009-03-19 Daniel Marjamäki * Makefile, src/checkautovariables.cpp, src/checkautovariables.h, src/errorlogger.h, tools/errmsg.cpp: added and integrated checkautovariables that gscacco created 2009-03-19 Daniel Marjamäki * src/checkautovariables.cpp, src/checkautovariables.h, test/teststl.cpp: astyle formatting 2009-03-19 Daniel Marjamäki * Makefile, src/checkautovariables.cpp, src/checkautovariables.h, src/errorlogger.h, tools/errmsg.cpp: added checkautovariables and integrated it into cppcheck 2009-03-19 Daniel Marjamäki * test/teststl.cpp: astyle formatting 2009-03-19 Daniel Marjamäki * test/teststl.cpp: refactoring: fixed the teststl so it is runnable again 2009-03-19 Daniel Marjamäki * cppcheck.cbp, src/check.h, src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp: refactoring: loop through all Check instances and execute the runChecks function 2009-03-19 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h: refactoring: removed the changes to the error handling 2009-03-18 Daniel Marjamäki * : commit a573c62cd532d3bdae381f8cf4696ec2e2eccd0a Author: Daniel Marjamäki Date: Wed Mar 18 22:40:38 2009 +0100 2009-03-18 Nicolas Le Cam * test/testtokenize.cpp: Fix compilation on 64bit systems 2009-03-18 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fixed ticket 184 (Tokenizer - Simplification: Split up variable declarations) 2009-03-18 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fixed tokenizer: "return - 2 ;" --> "return -2 ;" 2009-03-18 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #191 (semicolon after #endif stop tokenizing of function) http://apps.sourceforge.net/trac/cppcheck/ticket/191 2009-03-17 Reijo Tomperi * src/token.cpp: Astyle fix 2009-03-17 Reijo Tomperi * Makefile, test/testmemleakmp.cpp, test/testtoken.cpp: Fixed some memory leaks in test cases 2009-03-17 Daniel Marjamäki * src/checkother.cpp, src/token.cpp, src/tokenize.cpp, test/testtokenize.cpp: tokenize negative numbers into a single token 2009-03-17 Reijo Tomperi * src/tokenize.cpp: Fix ticket #186 (runtime error when checking code that has a namespace) http://apps.sourceforge.net/trac/cppcheck/ticket/186 2009-03-17 Daniel Marjamäki * src/tokenize.cpp: Refactoring the code for the templates handling 2009-03-17 Daniel Marjamäki * test/teststl.cpp: Added test case for detecting false positive in the STL size handling 2009-03-16 Reijo Tomperi * src/cppcheck.cpp, src/tokenize.cpp, src/tokenize.h: --debug flag can be used to printout token list (for development purposes) 2009-03-16 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #179 (preprocessor issues) http://apps.sourceforge.net/trac/cppcheck/ticket/179 2009-03-16 Daniel Marjamäki * test/testtokenize.cpp: Ticket #184 (Tokenizer - Simplification: Split up variable declarations), added testcases 2009-03-16 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: Fixed Ticket #82 (detect buffer overrun; dynamic memory) 2009-03-15 Reijo Tomperi * test/testpreprocessor.cpp: test case stringify3 added 2009-03-15 Reijo Tomperi * src/tokenize.cpp, test/testmemleak.cpp, test/testpreprocessor.cpp, test/testtokenize.cpp: Improved tokenizer to handle '#' better. Previously everything after # was combined into a single token, now # is considered more like an alphabet, with few exceptions, e.g. "##" tokens. 2009-03-15 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix Ticket 180 (Templates: Expanding member functions that are not implemented inline) 2009-03-15 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: replace constructor/destructor names when expanding template classes 2009-03-15 Reijo Tomperi * test/testpreprocessor.cpp: Test case stringify2() added. 2009-03-15 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #177 (Tokenizer doesn't add braces around if-scope) http://apps.sourceforge.net/trac/cppcheck/ticket/177 2009-03-15 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #181 (#pragma causes wrong line numbers) http://apps.sourceforge.net/trac/cppcheck/ticket/181 2009-03-15 Reijo Tomperi * src/checkmemoryleak.cpp, src/tokenize.cpp, src/tokenize.h: Improve creation of link() for Token class. Tokenizer::simplifyTokenList() should now return code where Token::link() actually works. 2009-03-14 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: better handling of templates with multiple type arguments 2009-03-14 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leak: handle allocation in deallocation list 2009-03-14 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Memory leaks: Refactoring to use Tokenizer::FindClassFunction. Enabled test case, the memory leak is now detected 2009-03-13 Daniel Marjamäki * : commit 3b29125d659c1cb4d1547cba3597b06a4b9454c9 Author: Daniel Marjamäki Date: Fri Mar 13 22:38:42 2009 +0100 2009-03-13 Daniel Marjamäki * src/checkclass.cpp, src/checkclass.h, src/tokenize.cpp, src/tokenize.h: refactoring: moved 'FindClassFunction' from CheckClass to Tokenizer 2009-03-13 Reijo Tomperi * src/token.cpp, src/token.h, src/tokenize.cpp: Fixed ticket #169 (Add Token::link()) http://apps.sourceforge.net/trac/cppcheck/ticket/169 2009-03-13 Daniel Marjamäki * test/testmemleak.cpp: TestMemleak: added two testcases for checking for leaks in classes 2009-03-13 Reijo Tomperi * src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Fix ticket #151 (Handling of namespaces) http://apps.sourceforge.net/trac/cppcheck/ticket/151 2009-03-12 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: expanding template classes 2009-03-12 Daniel Marjamäki * src/checkclass.cpp, test/testconstructors.cpp: uninitialized const pointer member variables 2009-03-11 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: astyle style fixes 2009-03-11 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: templates: simplify template functions with 1 type argument 2009-03-11 Reijo Tomperi * test/testpreprocessor.cpp: astyle fix 2009-03-10 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: made the Tokenizer::simplifyCasts more generic 2009-03-10 Daniel Marjamäki * src/checkmemoryleak.cpp: Fixed ticket 134 (memory leak not detected) caused by wrong checking if code is inside class function or not 2009-03-09 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: Fixed ticket 147 (Invalid line number for error message) 2009-03-09 Daniel Marjamäki * src/checksecurity.h: removed unused private function CheckSecurity::eraseCheckLoop 2009-03-09 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: simplify casts 2009-03-09 Kimmo Varis * : commit 9698c6d96b86f608ff0473776584edb416a59d57 Author: Kimmo Varis Date: Mon Mar 9 20:03:22 2009 +0200 2009-03-09 Vesa Pikki * : commit b3923b72ad48cc09ff4ec8355b0d406af02a580a Author: Kimmo Varis Date: Mon Mar 9 19:58:38 2009 +0200 2009-03-09 Vesa Pikki * : commit 3d6e3d38bbc67a4742a1a775142867e0c254b07d Author: Vesa Pikki Date: Mon Mar 9 19:35:43 2009 +0200 2009-03-09 Kimmo Varis * win_installer/cppcheck.iss: Build installer to Build directory in project root. Currently installer is build to subdirectory of the iss file which is not obvious place to find it. Also it is not good practice to build executables to source directories. 2009-03-09 Kimmo Varis * win_installer/cppcheck.iss: Set description for the installer file. This description is shown in the explorer. 2009-03-09 Kimmo Varis * win_installer/cppcheck.iss: Set user wiki URL as application/support URL. The installer was setting Sf.net project page as an URL which might be confusing for the users. Better use the wiki page. 2009-03-09 Kimmo Varis * win_installer/cppcheck.iss: Set version number for the installer file. The installer file was missing a version number (was shown as 0.0.0.0) in the Windows Explorer. Set the installer file version number identical to product version number. 2009-03-08 Reijo Tomperi * test/testpreprocessor.cpp: Added test case for #147 (Invalid line number for error message) http://apps.sourceforge.net/trac/cppcheck/ticket/147 macro_linenumbers() in test/testpreprocessor.cpp 2009-03-08 Reijo Tomperi * src/errorlogger.cpp: Fix ticket #148 (unable to compile with g++-3.3) http://apps.sourceforge.net/trac/cppcheck/ticket/148 2009-03-08 Reijo Tomperi * man/cppcheck.1.xml: Man page copyright year changed to 2009 2009-03-08 Daniel Marjamäki * win_installer/cppcheck.iss: updated version to 1.30 in installation script 2009-03-08 Daniel Marjamäki * src/cppcheck.cpp: updated version to 1.30 2009-03-08 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Astyle fix 2009-03-08 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix ticket #145 (Line numbers are invalid if file is included inside #ifdef) http://apps.sourceforge.net/trac/cppcheck/ticket/145 2009-03-07 unknown * gui/checkdialog.cpp, src/filelister.cpp: Windows Qt compilation fixes. FileLister::RecursiveAddFiles failed to compile in Windows when GUI was compiled. Since that method wasn't used in Qt build I ifdeffed it out. Also removed vcl related code from checkdialog since that was removed from release. 2009-03-07 Reijo Tomperi * man/cppcheck.1.xml: Improve man page 2009-03-07 Daniel Marjamäki * createrelease: createrelease updated to use git instead of svn 2009-03-07 Daniel Marjamäki * man/cppcheck.1.xml, src/cppcheck.cpp: Fix ticket #140 (New command line option --auto-dealloc), added documentation 2009-03-07 Reijo Tomperi * Makefile, tools/dmake.cpp: Fix ticket #141 (changed the makefile), changing compiler is now easier in the makefile. http://apps.sourceforge.net/trac/cppcheck/ticket/141 2009-03-06 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp: Fix ticket #137 (--version would be nice) and also do some cleanup for help texts http://apps.sourceforge.net/trac/cppcheck/ticket/137 2009-03-06 Reijo Tomperi * src/threadexecutor.cpp: Fix ticket #139 (Compilation error on building cppcheck version 1.29 with gcc-4.3.2 on Ubuntu 8.10) http://apps.sourceforge.net/trac/cppcheck/ticket/139 2009-03-06 Daniel Marjamäki * src/cppcheck.cpp, src/settings.cpp, src/settings.h, test/testmemleak.cpp: astyle formatting 2009-03-06 Daniel Marjamäki * src/cppcheck.cpp: auto-deallocated classes: added command line option for specifying .lst file (http://apps.sourceforge.net/trac/cppcheck/ticket/120) 2009-03-06 Daniel Marjamäki * src/checkmemoryleak.cpp, src/settings.cpp, src/settings.h, test/testmemleak.cpp: added internal support for handling list of classes that are automaticly deallocated 2009-03-06 Reijo Tomperi * man/cppcheck.1.xml, src/checkstl.cpp, src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/main.cpp, src/settings.cpp, src/settings.h: Fix ticket #135 (Add option to control main() exit value) 2009-03-05 Reijo Tomperi * src/checkstl.cpp, test/teststl.cpp: Fix segmentation fault that happens with invalid code. 2009-03-05 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #133 (Segmentation fault when static_cast is in for loop) 2009-03-05 Daniel Marjamäki * src/checkbufferoverrun.cpp: checkbufferoverrun: fixed bug - skip some checks when variable id is unknown (Ticket: 138) 2009-03-04 Daniel Marjamäki * src/cppcheck.cpp: reverted accidental changes committed in [1330] 2009-03-04 Daniel Marjamäki * src/cppcheck.cpp, src/tokenize.cpp: fixed tokenizer problem when reading char constants 2009-03-04 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h: simplify calculations better 2009-03-04 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: known variables: better handling of ++ and -- 2009-03-03 Reijo Tomperi * src/checkmemoryleak.cpp, test/testmemleak.cpp: Fix #132 (False positive returning memcpy()) 2009-03-03 Reijo Tomperi * src/token.cpp, test/testsimplifytokens.cpp, test/testtokenize.cpp: Fix ticket Add/Change #125 (the printout of the token list is wrong) 2009-03-03 Reijo Tomperi * src/token.cpp, src/token.h: Refactoring: Combined printOut() and stringifyList() in Token class 2009-03-03 Kimmo Varis * createrelease: Use svn export to export sources without SVN folders. 2009-03-03 Kimmo Varis * createrelease: Use variable for relase folder and version in release script. 2009-03-02 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: unused private function: better handling of initialization lists in constructors 2009-03-02 Vesa Pikki * gui/resultsview.cpp, gui/threadhandler.cpp, gui/threadresult.cpp: Removed some unnecessary debug prints. 2009-03-02 Vesa Pikki * gui/checkdialog.cpp, gui/checkdialog.h, gui/checkthread.cpp, gui/checkthread.h, gui/resultstree.cpp, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h, src/filelister.h: Now adds directory contents to list of files to check. Only adds proper (.cpp,.c,.cpp,...) files to the list of files to check. Modified checkthread to clear results after each file. 2009-03-02 Daniel Marjamäki * createrelease: createrelease: The script for creating the 1.29 source packages 2009-03-02 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: unused private function: fixed false positive (ticket: 129) 2009-03-01 Vesa Pikki * gui/checkdialog.cpp, gui/checkdialog.h, gui/checkthread.cpp, gui/checkthread.h, gui/gui.pro, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/threadhandler.cpp, gui/threadhandler.h, gui/threadresult.cpp, gui/threadresult.h: Began implementing ThreadExecutor with Qt threads. Still a work in progress. Added tr to all strings. 2009-03-01 Reijo Tomperi * man/cppcheck.1.xml: Copyright fix for the man page 2009-03-01 Reijo Tomperi * man/cppcheck.1.xml: Copyright for the man page 2009-03-01 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memory leak: fixed issue with reporting wrong location 2009-03-01 Reijo Tomperi * src/threadexecutor.cpp: Fixed some compiling warnings by adding more error checking. 2009-03-01 Daniel Marjamäki * src/tokenize.cpp: removed deprecated flag 'firstMatch' 2009-03-01 Reijo Tomperi * src/errorlogger.h, tools/errmsg.cpp: Copyright fixes 2009-03-01 Reijo Tomperi * src/errorlogger.h, src/threadexecutor.cpp: Fixing compile problem with new gcc 2009-03-01 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkfunctionusage.cpp, src/checkfunctionusage.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/checksecurity.cpp, src/checksecurity.h, src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/preprocessor.cpp, src/preprocessor.h, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, src/threadexecutor.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsecurity.cpp, test/testsimplifytokens.cpp, test/teststl.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp, tools/errmsg.cpp: Copyrights updated 2009-03-01 Reijo Tomperi * cppcheck.cbp: Added GUI to codeblocks project file 2009-03-01 Reijo Tomperi * src/errorlogger.h, tools/errmsg.cpp: Fixed another --style problem with our code 2009-03-01 Reijo Tomperi * src/threadexecutor.cpp, src/threadexecutor.h: Fixed bug, -j option produced duplicate error messages. 2009-03-01 Reijo Tomperi * src/errorlogger.cpp, src/errorlogger.h, tools/errmsg.cpp: Use reference instead of string copy (fixes some --style warnings from our code) 2009-03-01 Daniel Marjamäki * src/cppcheck.cpp: removed the '--vcl' flag from the console app 2009-03-01 Reijo Tomperi * man/cppcheck.1.xml: Removed --vcl fromt he man page 2009-03-01 Reijo Tomperi * man/cppcheck.1.xml: Updated man page for --vcl 2009-03-01 Daniel Marjamäki * src/tokenize.cpp, test/testother.cpp, test/testtokenize.cpp: variable id: fixed so that the variable ids are assigned correctly (ticket:126) 2009-03-01 Vesa Pikki * gui/checkdialog.cpp, gui/checkdialog.h, gui/checkthread.cpp, gui/checkthread.h, gui/gui.pro, gui/main.cpp, gui/mainwindow.cpp, gui/mainwindow.h, gui/resultstree.cpp, gui/resultstree.h, gui/resultsview.cpp, gui/resultsview.h, gui/settingsdialog.cpp, gui/settingsdialog.h, runastyle, runastyle.bat: Began implementing a simple Qt based GUI. Also modified astyle scripts to format gui code aswell. 2009-02-28 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: variable declarations: don't simplify when declaring and assigning array in the same statement 2009-02-28 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: variable id: handling 'return' and 'else' better 2009-02-28 Daniel Marjamäki * test/testsimplifytokens.cpp, test/testtokenize.cpp: moved sizeof tests to the TestSimplifyTokens class 2009-02-28 Daniel Marjamäki * test/testtokenize.cpp: refactoring unit tests 2009-02-28 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: sizeof: fixed a problem with 'sizeof(varname)' but there are more to fix with it 2009-02-27 Reijo Tomperi * src/cppcheck.cpp, src/cppcheck.h: Added Cppcheck::clearFiles() function. 2009-02-27 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: simplify known variable: don't simplify this ';i++;' 2009-02-27 Daniel Marjamäki * src/checkfunctionusage.cpp: unused functions: fixed false positives 2009-02-27 Daniel Marjamäki * test/testbufferoverrun.cpp: Reverted changes made in [1289] 2009-02-27 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: simplify tokens: fixed bug when removing redundant parantheses around variable 2009-02-26 Daniel Marjamäki * test/testbufferoverrun.cpp: array index out of bounds: Added todo test case TestBufferOverrun::array_index_13 for ticket #118 2009-02-26 Kimmo Varis * win_installer/cppcheck.iss: Use 'folder' instead of 'directory' in Windows installer. 2009-02-25 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: simplify tokens: remove redundant parantheses around variable.. 'p = (q);' 2009-02-25 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak: Fixed a false positive when all is given 2009-02-25 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: unused private function: Handle 'embedded' function implementations better 2009-02-24 Daniel Marjamäki * src/checkclass.cpp: checkclass: refactoring 2009-02-24 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: reverted [1282] because some changes were committed by mistake 2009-02-24 Daniel Marjamäki * src/checkclass.cpp, test/testunusedprivfunc.cpp: checkclass: refactoring 2009-02-24 Daniel Marjamäki * src/tokenize.cpp: sizeof fix. classes and structs are always given the size 100. This removes false positives about mismatching size 2009-02-24 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: simplify tokens: simplify known variable value handles ++ and -- better 2009-02-24 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak: fixed false positive when using 'return strcpy' 2009-02-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leaks: improved handling of --vcl 2009-02-22 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/settings.cpp, src/settings.h, src/threadexecutor.cpp: Change -w to -j to make it similar with make and scons. 2009-02-22 Kimmo Varis * src/cppcheck.rc: Windows RC file is ANSI file, storing as UTF-8 messes it up. 2009-02-22 Reijo Tomperi * src/errorlogger.h, tools/errmsg.cpp: Members of ErrorLogger::ErrorMessage made public for better access to them. 2009-02-22 Reijo Tomperi * src/cppcheck.cpp, src/cppcheck.h: CppCheck::addFile() accepts paths also now. 2009-02-21 Daniel Marjamäki * cppcheck.cbp: codeblocks: Updated the project file with the new security check 2009-02-21 Daniel Marjamäki * src/checkclass.cpp, src/tokenize.cpp, test/testclass.cpp: constructors: don't warn about missing constructor if class only has static variable members 2009-02-21 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: buffer overrun: catch cases when using cin to read to a char array 2009-02-21 Daniel Marjamäki * Makefile, src/checksecurity.cpp, src/checksecurity.h, test/testsecurity.cpp: security: renamed classes 2009-02-21 Daniel Marjamäki * Makefile, src/checksecurity.cpp, src/checksecurity.h, src/checkvalidate.cpp, src/checkvalidate.h, test/testsecurity.cpp, test/testvalidate.cpp: security: Renamed files 2009-02-21 Daniel Marjamäki * src/checkclass.cpp, test/testclass.cpp: TestClass: Added test for uninitialized "mutable int i" 2009-02-21 Daniel Marjamäki * cppcheck.vcproj: Visual C++: Updated the project file to include the thread execution 2009-02-20 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: buffer overrun: dangerous usage of strncpy+strncat 2009-02-20 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/errorlogger.h, test/testbufferoverrun.cpp, tools/errmsg.cpp: buffer overrun: Added checking of strncat 2009-02-20 Daniel Marjamäki * test/testbufferoverrun.cpp: added todo testcases for strncat checking 2009-02-20 Daniel Marjamäki * src/threadexecutor.cpp: g++: fixed compiler errors 2009-02-20 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp, src/cppcheckexecutor.cpp, src/settings.cpp, src/settings.h, src/threadexecutor.cpp, src/threadexecutor.h, tools/errmsg.cpp: Fix ticket #113 (Add support for multi core CPUs and -w parameter to specifify amount of worker threads) 2009-02-20 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: simplify known variables: variable used as array index 2009-02-20 Daniel Marjamäki * src/checkmemoryleak.cpp, src/cppcheck.cpp, src/errorlogger.h, src/settings.cpp, src/settings.h, test/testmemleak.cpp: memory leak: Added command line flag '--vcl' that is used to suppress error messages for VCL code 2009-02-19 Reijo Tomperi * Makefile, cppcheck.cbp, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/threadexecutor.cpp, src/threadexecutor.h, test/testsuite.h, tools/errmsg.cpp: Multicore cpu support for Linux (currently disabled and compiling produces warnings) "no errors" output removed. 2009-02-19 Daniel Marjamäki * src/checkvalidate.cpp, src/checkvalidate.h, src/errorlogger.h, src/settings.cpp, src/settings.h, test/testvalidate.cpp, tools/errmsg.cpp: security: added simple gui checking 2009-02-19 Daniel Marjamäki * Makefile, src/checkvalidate.cpp, src/checkvalidate.h, src/errorlogger.h, test/testvalidate.cpp, testrunner.vcproj, tools/errmsg.cpp: input validation: added checking 2009-02-18 Daniel Marjamäki * test/testsimplifytokens.cpp: fixed failed tests 2009-02-18 Daniel Marjamäki * test/testsimplifytokens.cpp: reverted [1254] it was made by mistake 2009-02-18 Daniel Marjamäki * test/testsimplifytokens.cpp: stl push_back: Added check (invalid iterator) 2009-02-18 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, src/errorlogger.h, test/teststl.cpp, tools/errmsg.cpp: stl push_back: Added check (invalid iterator) 2009-02-17 Daniel Marjamäki * src/tokenize.cpp: activated the Tokenizer::elseif functionality 2009-02-17 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testsimplifytokens.cpp: Added Tokenizer::elseif for breaking up 'else if' into 'else { if ..' 2009-02-16 Daniel Marjamäki * test/testtokenize.cpp: varid: Added a todo test case for giving function parameters varid 2009-02-16 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: fixed issues related to variable ids * use setVarId in simplifyTokenList * make sure function parameters and variables declared in for example for loops get variable ids 2009-02-15 Reijo Tomperi * src/tokenize.cpp: astyle fix 2009-02-15 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: improved the simplification of '*(var+num)' => 'var[num]' 2009-02-15 Daniel Marjamäki * src/tokenize.cpp, test/testsimplifytokens.cpp: tokenizer: Remove redundant parantheses around number. Ticket: #105 2009-02-15 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: Fixed bug in tokenizer that removed '\' from preprocessor lines Ticket: #106 2009-02-15 Daniel Marjamäki * src/filelister.cpp: FileLister: handle '\\' path separator the same way '/' is handled 2009-02-15 Daniel Marjamäki * src/filelister.cpp: filelister: use '\\' instead of '/' in windows paths 2009-02-14 Reijo Tomperi * src/preprocessor.cpp: Code comments updated 2009-02-14 Reijo Tomperi * src/errorlogger.h, tools/errmsg.cpp: Code comments updated 2009-02-14 Reijo Tomperi * test/testtokenize.cpp: Added test case TestTokenizer::sizeof5 2009-02-14 Reijo Tomperi * src/token.cpp, src/tokenize.cpp, test/testtokenize.cpp: Constant variable converting converted struct members (foo.a => foo.45) also, fixed that. 2009-02-14 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Fix ticket #107 (Convert + + into + and + - into -) and add test case for it 2009-02-14 Reijo Tomperi * test/testsimplifytokens.cpp: Fixed typos in test case and enabled it. 2009-02-14 Reijo Tomperi * src/tokenize.cpp: astyle fix 2009-02-14 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: tokenize '++', '--' and '>>' correctly 2009-02-14 Reijo Tomperi * src/cppcheck.cpp, src/errorlogger.h, test/testclass.cpp, test/testconstructors.cpp, tools/errmsg.cpp: Fix ticket #104 (Change (error) Uninitialized member variable -> (style) Member variable not initialized in the constructor) 2009-02-14 Daniel Marjamäki * src/cppcheck.cpp: debug output: commented out the code for writing token listing 2009-02-14 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak: handle 'delete (p)' and 'delete [] (p)'. Fixes ticket 102 2009-02-14 Daniel Marjamäki * src/cppcheck.cpp, src/tokenize.cpp: simplify known value: insert known variable value into calculations 2009-02-13 Daniel Marjamäki * test/testtokenize.cpp: simplify tokens: added todo test case, the varid is lost when simplifying variable declarations 2009-02-13 Daniel Marjamäki * test/testtokenize.cpp: simplify token list: Added a TODO test case. variable id is lost 2009-02-13 Leandro Penz * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: support for ##-comma-eating in variadic macros; passing now fmt2 test. 2009-02-13 Leandro Penz * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: fixed ## tokenization. 2009-02-13 Leandro Penz * src/preprocessor.cpp, test/testpreprocessor.cpp: Preprocessor: initial variadic macro support; passing now on fmt1 case. 2009-02-13 Daniel Marjamäki * src/token.cpp, src/token.h, test/testtokenize.cpp: Token::stringifyList: Added function that stringifies a token list 2009-02-12 Reijo Tomperi * test/testsimplifytokens.cpp: Improved test case "double_plus" 2009-02-12 Reijo Tomperi * src/token.cpp, test/testsimplifytokens.cpp: Added test case double_plus and improved Token::printOut 2009-02-12 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #100 (Simplify constants simplifies leaks out from variable scope and simplifies whole file) 2009-02-12 Daniel Marjamäki * src/checkbufferoverrun.cpp, test/testbufferoverrun.cpp: buffer overruns: added simple support for initialized array 2009-02-12 Leandro Penz * src/checkother.cpp, test/testincompletestatement.cpp: Incomplete statements: removed false positive when setting array of structures or multi-dimensional arrays. 2009-02-11 Reijo Tomperi * test/testtokenize.cpp: Test case TestTokenizer::simplify_constants added (commented out) 2009-02-11 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: stl dangerous usage of erase: Added test cases about using return and goto 2009-02-11 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: buffer overrun: improved checking of global variables 2009-02-11 Leandro Penz * src/checkother.cpp, test/testincompletestatement.cpp: Incomplete statement: fixed and enabled intarray test case. 2009-02-11 Leandro Penz * test/testincompletestatement.cpp: Incomplete statement: test case for statement that begins with numeric constant. 2009-02-11 Daniel Marjamäki * Makefile, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h: checkbufferoverrun: cleaned up the header includes 2009-02-11 Daniel Marjamäki * Makefile: updated the Makefile 2009-02-11 Daniel Marjamäki * src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, src/errorlogger.h, test/teststl.cpp, tools/errmsg.cpp: dangerous usage of erase: added check 2009-02-10 Kimmo Varis * cppcheck.vcproj, testrunner.vcproj: Update Visual Studio project files. 2009-02-10 Reijo Tomperi * src/checkheaders.cpp, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, test/testsuite.cpp, test/testsuite.h, tools/errmsg.cpp: Refactoring: reportErr takes now only one parameter, ErrorLogger::ErrorMessage, which contains all required information and also some help functions for formatting it for output. 2009-02-10 Daniel Marjamäki * src/checkstl.cpp, test/teststl.cpp: stl: added testcase for bad iterator usage 2009-02-10 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, test/testbufferoverrun.cpp, test/teststl.cpp: Moved stloutofbounds check to CheckStl class. 2009-02-10 Daniel Marjamäki * cppcheck.cbp: codeblocks: updated the project file 2009-02-10 Daniel Marjamäki * src/checkstl.cpp: astyle coding style update 2009-02-10 Daniel Marjamäki * Makefile, src/checkstl.cpp, src/checkstl.h, src/cppcheck.cpp, src/errorlogger.h, test/teststl.cpp, tools/errmsg.cpp: STL: added check for iterator usage 2009-02-10 Reijo Tomperi * src/checkbufferoverrun.cpp, src/errorlogger.h, tools/errmsg.cpp: stlOutOfBounds error message created 2009-02-09 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: Fix ticket #94 (STL container overrun). Check is currently behind --all 2009-02-09 Reijo Tomperi * man/cppcheck.1.xml, src/checkdangerousfunctions.cpp, src/checkheaders.cpp, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.cpp, src/errorlogger.h, src/tokenize.cpp, src/tokenize.h, test/testdangerousfunctions.cpp, test/testsuite.cpp, test/testsuite.h, tools/errmsg.cpp: Fix ticket #93 (Write xml results into error stream instead of results.xml file.) and also refactor the code to use ErrorLogger::reportErr() for all errors, for both xml and plain text. And move xml formatting from Cppcheck to CppcheckExecutor. 2009-02-09 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memory leak: keep track of --all better 2009-02-09 Daniel Marjamäki * test/testincompletestatement.cpp: incomplete statement: added a testcase for a false positive 2009-02-09 Kimmo Varis * cppcheck.vcproj: Update Visual Studio project file. 2009-02-09 Daniel Marjamäki * src/checkclass.cpp, test/testclass.cpp: uninitialized variables: added testcases and made a fix 2009-02-08 Reijo Tomperi * cppcheck.cbp: Update to codeblocks project file 2009-02-08 Reijo Tomperi * Makefile, cppcheck.cbp, src/checkbufferoverrun.cpp, src/checkclass.cpp, src/checkdangerousfunctions.cpp, src/checkfunctionusage.cpp, src/checkmemoryleak.cpp, src/checkother.cpp, src/cppcheck.cpp, src/errorlogger.cpp, src/errorlogger.h, src/errormessage.cpp, src/errormessage.h, tools/dmake.cpp, tools/errmsg.cpp: Fix ticket #80 (refactoring: classes ErrorMessage and ErrorLogger), note that errormessage and errorlogger were merged, errormessage.* is no more. 2009-02-08 Daniel Marjamäki * test/testmemleak.cpp: Memory leak: Test code was supposed to call unknown function 2009-02-08 Daniel Marjamäki * src/errormessage.h, test/testmemleak.cpp, tools/errmsg.cpp: mismatching allocation size: moved to error suite 2009-02-08 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: Make sure leak is found even when using unknown functions 2009-02-08 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leak: find memory leak in TestMemleak::unknownFunction2 2009-02-08 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leak: Handling function that can't be traced into 2009-02-08 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fixed issue about 4+5 being made a single token, problem appeared in recent commits. 2009-02-08 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #89 (False positive, (style) Redundant code - begins with numeric constant (e-value)) 2009-02-08 Reijo Tomperi * src/tokenize.cpp, test/testincompletestatement.cpp, test/testtokenize.cpp: Improve fix made for Ticket #85 to handle strings that are in 3 parts also. 2009-02-08 Reijo Tomperi * src/tokenize.cpp, test/testincompletestatement.cpp, test/testtokenize.cpp: Fixed ticket #88 (False positive, (style) Redundant code - begins with numeric constant) 2009-02-08 Reijo Tomperi * src/tokenize.cpp, test/testincompletestatement.cpp, test/testsimplifytokens.cpp: Fix ticket #85 (False positive (style) Redundant code, begins with string) 2009-02-08 Daniel Marjamäki * test/testmemleak.cpp: Memory leaks: Added todo testcase - handle function calls that can't be followed 2009-02-07 Reijo Tomperi * src/token.cpp, src/token.h: Fixed compiler warning ( #81 ) and optimized the speed a little. Removed _cstr from Token class, use _str.c_str() instead. 2009-02-07 Reijo Tomperi * src/cppcheck.cpp, src/tokenize.cpp, test/testpreprocessor.cpp: Fixed more of ticket #81 (getting rid of compiler warnings) 2009-02-07 Reijo Tomperi * src/checkmemoryleak.h, src/checkother.h, src/preprocessor.h, src/tokenize.h, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdangerousfunctions.cpp, test/testdivision.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp: Fix ticket #84 (unit testing: use "protected" instead of preprocessor) 2009-02-07 Reijo Tomperi * src/checkmemoryleak.cpp, src/tokenize.cpp, test/testtokenize.cpp: Fix ticket #83 (cppcheck hangs) and add a test case for it 2009-02-07 Daniel Marjamäki * src/checkmemoryleak.cpp: Borland C++: Fix to make it compile 2009-02-07 Reijo Tomperi * src/cppcheck.cpp: Fixed partially ticket #81 (getting rid of compiler warnings) 2009-02-07 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/errormessage.h, src/tokenize.cpp, test/testmemleak.cpp, tools/errmsg.cpp: memory allocation: check for mismatching size 2009-02-07 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: TestMemleak: fixed problems with wrong linenumbers. This fixes ticket 79 2009-02-07 Daniel Marjamäki * cppcheck.cbproj: Borland C++: Added CheckDangerousFunctions.* to the project 2009-02-07 Daniel Marjamäki * src/filelister.cpp: FileLister: Added code that I received from Jeffrey Walton to handle directories and files better 2009-02-06 Daniel Marjamäki * test/testmemleak.cpp: TestMemleak: Fixed tests 2009-02-06 Daniel Marjamäki * src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: mismathing allocation and deallocation: moved to error checks 2009-02-06 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testcppcheck.cpp, test/testmemleak.cpp: errmsg: use the error message dealloc-use 2009-02-06 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memleak: removed false positives for mismatching allocation and deallocation 2009-02-05 Reijo Tomperi * src/errormessage.h, test/testbufferoverrun.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testcppcheck.cpp, test/testdivision.cpp, test/testmemleak.cpp, test/testother.cpp, tools/errmsg.cpp: Fixed: Ticket #78 Change (always) into (error) in error messages 2009-02-05 Reijo Tomperi * test/testcppcheck.cpp: Added test case linenumbers2 2009-02-05 Daniel Marjamäki * src/checkmemoryleak.cpp, src/cppcheck.cpp, test/testmemleak.cpp: memleak: corrected the wrong line number (#77) 2009-02-05 Reijo Tomperi * Makefile, cppcheck.cbp, test/testcppcheck.cpp: testcppcheck.cpp file added, test case "linenumbers" added, codeblocks project file updated 2009-02-05 Daniel Marjamäki * src/checkother.cpp, test/testincompletestatement.cpp: incomplete statement: minor update 2009-02-04 Daniel Marjamäki * test/testclass.cpp: activated TestClass:function 2009-02-04 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: remove casts: Added test case to ensure that function declarations are not reduced 2009-02-04 Daniel Marjamäki * test/testclass.cpp, test/testtokenize.cpp: testclass: added todo testcase for #74 2009-02-04 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, src/errormessage.h, test/testother.cpp, tools/errmsg.cpp: returning pointer to local array 2009-02-04 Daniel Marjamäki * src/checkother.cpp, test/testcharvar.cpp: charvar: fixed todo testcase 2009-02-04 Daniel Marjamäki * test/testbufferoverrun.cpp: testbufferoverrun: activated test 2009-02-04 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memory leak: fixed ticket #9 2009-02-03 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fixed varid is 0 bug which happened with sizeof(var[0]) and added testcase for it 2009-02-02 Reijo Tomperi * testrunner.vcproj: Updated testrunner.vcproj files 2009-02-02 Daniel Marjamäki * testrunner.vcproj: visual c++: added checkdangerousfunctions 2009-02-02 Daniel Marjamäki * createrelease: added createrelease script 2009-02-02 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: setvarid handle variable declaration at start of token list 2009-02-02 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: sizeof handling of 'sizeof(var[0])' 2009-02-02 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: Tokenizer: setVarId improved to handle declaration at the first token 2009-02-02 Daniel Marjamäki * src/tokenize.cpp, test/testbufferoverrun.cpp, test/testtokenize.cpp: tokenizer: improved sizeof handling 2009-02-02 Daniel Marjamäki * test/testtokenize.cpp: TestTokenize: Added testcase sizeof2 (TODO) 2009-02-02 Daniel Marjamäki * test/testtokenize.cpp: testtokenize: sizeof handling 2009-02-02 Daniel Marjamäki * test/testmemleak.cpp: testmemleak: fixed a test case 2009-02-02 Daniel Marjamäki * src/checkmemoryleak.cpp: memory leaks: Minor fix to output correct severity 2009-02-02 Daniel Marjamäki * test/testmemleak.cpp: TestMemleak: Added test cases 2009-02-01 Daniel Marjamäki * src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.h, src/errormessage.cpp, src/errormessage.h, src/settings.cpp, src/settings.h, test/testsuite.cpp, test/testsuite.h, tools/errmsg.cpp: xml: generating better xml output 2009-02-01 Daniel Marjamäki * tools/errmsg.cpp: astyle formatting 2009-02-01 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkfunctionusage.cpp, src/checkmemoryleak.cpp, src/checkother.cpp, src/errormessage.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: refactoring the error messages 2009-02-01 Daniel Marjamäki * src/cppcheck.cpp, src/cppcheck.rc, win_installer/cppcheck.iss: changed version to 1.28 2009-01-31 Reijo Tomperi * src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h: Removed some dead code and improved one function to use reference instead of a copy. 2009-01-31 Reijo Tomperi * man/cppcheck.1.xml: Fixed man page, previous version had while < and > should be used. 2009-01-31 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/checkother.h, src/preprocessor.h: Fixing files using dos-style line change to use unix-style line change. 2009-01-31 Reijo Tomperi * cppcheck.cbp: Updated codeblocks projectfile 2009-01-31 Daniel Marjamäki * tools/errmsg.cpp: removed unused function definition for stringifySeverity 2009-01-31 Kimmo Varis * cppcheck.vcproj: Add new files (Src/checkdangerousfunctions.cpp and .h) to Visual Studio project. 2009-01-31 Reijo Tomperi * src/checkdangerousfunctions.cpp, test/testdangerousfunctions.cpp: Running astyle for the previous commits 2009-01-31 Leandro Penz * Makefile, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkdangerousfunctions.cpp, src/checkdangerousfunctions.h, src/cppcheck.cpp, test/testdangerousfunctions.cpp: dangerousfunctions: added check for mktemp (ticket #69), and refatored gets and scanf check from bufferoverrun into dangerousfunctions. 2009-01-31 Daniel Marjamäki * src/checkmemoryleak.cpp, src/cppcheck.cpp, src/errormessage.h, test/testmemleak.cpp, tools/errmsg.cpp: mismatching allocation / deallocation: moved to --all 2009-01-31 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/errormessage.h, test/testmemleak.cpp, tools/errmsg.cpp: errmsg: output severity in messages. a fix to track severity in the memory leaks check 2009-01-31 Daniel Marjamäki * test/testmemleak.cpp: mismatching allocation and deallocation: added test case that currently generates false positives 2009-01-31 Daniel Marjamäki * src/errormessage.h, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testother.cpp, test/testredundantif.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/errmsg.cpp: errmsg: write severity in the message 2009-01-30 Daniel Marjamäki * test/testbufferoverrun.cpp: added test case TestBufferOverrun::sizeof2 2009-01-30 Daniel Marjamäki * test/testcharvar.cpp: added todo testcase 2009-01-28 Reijo Tomperi * man/cppcheck.1.xml: Updated man page for --unused-functions and --xml-results 2009-01-28 Daniel Marjamäki * test/testpreprocessor.cpp: preprocessor: Added testcase fmt2 that is commented out because it doesn't work yet 2009-01-28 Kimmo Varis * cppcheck.vcproj: Visual Studio: Remove incremental linking from release target due to other option disabling it and causing warning: Linking... LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification 2009-01-28 Daniel Marjamäki * src/tokenize.cpp, test/testbufferoverrun.cpp: tokenizer: fixed TestTokenizer::sizeof1 2009-01-28 Daniel Marjamäki * src/cppcheck.cpp, src/settings.cpp, src/settings.h: unused functions: Created command line parameter --unused-functions 2009-01-28 Daniel Marjamäki * src/cppcheck.cpp, src/settings.cpp, src/settings.h: xml results: added a command line switch for generating simple results.xml file 2009-01-28 Daniel Marjamäki * test/testbufferoverrun.cpp: bad sizeof handling 2009-01-28 Leandro Penz * src/checkmemoryleak.cpp: MatchFunctionsThatReturnArg: calling Match only once. 2009-01-27 Reijo Tomperi * src/tokenize.cpp, test/testsimplifytokens.cpp: Partial support for sizeof x, by converting it into sizeof(x). Does not handle complex structures. Closing ticket #65 2009-01-27 Reijo Tomperi * src/token.cpp, src/token.h, test/testtokenize.cpp: Fixed bug in multiCompare, which fixes ticket #66 ([False positive] "Buffer overrun" with "--all") 2009-01-27 Daniel Marjamäki * test/testclass.cpp: uninitialized member: don't check private constructors 2009-01-27 Daniel Marjamäki * src/tokenize.cpp: function parameters: fixed segmentation fault (derefence null) 2009-01-27 Daniel Marjamäki * src/checkother.cpp: sprintf overlapping data 2009-01-26 Reijo Tomperi * src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: Fix ticket #25 (simplify "void f(x) int x; {" into "void f(int x) {") 2009-01-26 Daniel Marjamäki * src/checkother.cpp, src/errormessage.h, tools/errmsg.cpp: sprintf overlapping data: added extra text that is shown if --verbose is given 2009-01-26 Daniel Marjamäki * src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Moved 'function parameter parname is passed by value' to the style checks 2009-01-26 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memleak: class function usage (fixing #63) 2009-01-26 Daniel Marjamäki * src/tokenize.cpp, src/tokenize.h, test/testtokenize.cpp: tokenizer: simplify redundant paranthesis 2009-01-25 Leandro Penz * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: memleak: strcat_result_assignment fixed by checking some functions for "x = func(x[),]". 2009-01-25 Daniel Marjamäki * test/testmemleak.cpp: testmemleak: removed the test case that was added in [1105]. It has been moved to the TestTokenizer instead 2009-01-25 Daniel Marjamäki * test/testtokenize.cpp: testtokenize: Added test case for simplifying '((x))' to '(x)' 2009-01-25 Daniel Marjamäki * test/testpreprocessor.cpp: testpreprocessor: removed unused test case 2009-01-25 Reijo Tomperi * test/testmemleak.cpp: Added test case complex_free 2009-01-25 Reijo Tomperi * test/testmemleak.cpp: Test case added: strcat_result_assignment 2009-01-25 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: stringify macros 2009-01-25 Reijo Tomperi * src/cppcheck.h: Updated comments in code 2009-01-25 Reijo Tomperi * src/cppcheck.cpp: Fix ticket #58 (If given path is empty it is assumed that it wasn't given) 2009-01-24 Reijo Tomperi * src/tokenize.cpp: Fix ticket #57 (wrong path in error message) 2009-01-24 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: insert space. '#if(' => '#if (' 2009-01-24 Leandro Penz * src/checkmemoryleak.cpp, test/testmemleak.cpp: memleak: *x=malloc(); func(&x) is no longer reported as a leak (eliminated &use2). 2009-01-24 Leandro Penz * test/testbufferoverrun.cpp: snprintf: more tests. 2009-01-24 Reijo Tomperi * src/tokenize.cpp, test/testpreprocessor.cpp: Added test case preprocessor_and_operation for ticket #55 (also fixed style from previous commit) 2009-01-24 Kimmo Varis * src/cppcheck.cpp: Fix two overly long lines in command line help. 2009-01-24 Daniel Marjamäki * test/testtokenize.cpp: testtokenize: updated 'TestTokenize::simplify_function_parameters' 2009-01-24 Kimmo Varis * cppcheck.vcproj: Visual Studio: add resource.h into VS project. 2009-01-24 Kimmo Varis * win_installer/cppcheck.iss, win_installer/modpath.iss: Ticket #34: Windows installer: Add cppcheck folder to system path. 2009-01-24 Daniel Marjamäki * src/tokenize.cpp: tokenizer: Added guard in case the preprocessor is mismatching 2009-01-24 Daniel Marjamäki * src/cppcheck.cpp: cppcheck: printing preprocessed file to 'temp.txt' 2009-01-24 Reijo Tomperi * src/cppcheck.cpp: Fixed ticket #54 (Make cppcheck print status e.g. 4/20 files checked) 2009-01-24 Reijo Tomperi * test/testtokenize.cpp: Added test case simplify_function_parameters 2009-01-23 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkother.cpp, src/checkother.h, src/preprocessor.cpp, src/preprocessor.h, src/tokenize.cpp, src/tokenize.h: removed windows encodings 2009-01-23 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkother.cpp, src/checkother.h, src/preprocessor.cpp, src/preprocessor.h, src/tokenize.cpp, src/tokenize.h: borland and visual c++ fixes 2009-01-23 Daniel Marjamäki * src/checkbufferoverrun.cpp: reverted [1084] it can be fixed better 2009-01-23 Daniel Marjamäki * src/checkbufferoverrun.cpp: borland: the strtol is found in 2009-01-23 Daniel Marjamäki * src/checkclass.cpp, src/checkmemoryleak.cpp, src/filelister.cpp: include: Had to include in a few places to be able to compile cppcheck 2009-01-23 Reijo Tomperi * src/preprocessor.cpp: Add additional checking to avoid ethernal loops when someone is using incorrect different case for the same file. It should be unlikely that anyone would actually use different files in the same project and separate them only by casing of some letters. 2009-01-23 Reijo Tomperi * src/checkbufferoverrun.cpp, src/checkclass.cpp, src/checkclass.h, src/checkheaders.cpp, src/checkmemoryleak.cpp, src/checkother.cpp, src/filelister.cpp, src/filelister.h, src/preprocessor.cpp, src/token.cpp, src/tokenize.cpp: Fixing ticket #35 (Get rid of #ifdefs in our code where possible) 2009-01-23 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak: don't give false positive when deallocating member variable this->i (#53) 2009-01-23 Daniel Marjamäki * test/testsuite.cpp: removed compiler warning 2009-01-23 Daniel Marjamäki * src/cppcheck.cpp: better fix to get rid of compiler warning is to comment the function parameter 2009-01-23 Reijo Tomperi * src/cppcheck.cpp, src/preprocessor.cpp: Fixed Ticket #52, Cppcheck hangs when checking VLC's source code 2009-01-23 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: fixed bug with mixed macros ABC and ABCD 2009-01-23 Daniel Marjamäki * src/preprocessor.cpp: removed bam coding 2009-01-23 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: The stdlib.h is needed for the exit function 2009-01-22 Daniel Marjamäki * src/cppcheck.cpp: cppcheck: The '&&' should be '||' when checking if a check should be called 2009-01-22 Daniel Marjamäki * Makefile, tools/dmake.cpp: Build: Enabled the Wextra flag when building cppcheck 2009-01-22 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp: Fix Ticket #46, invalid commandline. (Also added -h and --help parameters) 2009-01-22 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: handle redefinition of macro 2009-01-22 Reijo Tomperi * man/cppcheck.1.xml, src/cppcheck.cpp, src/cppcheck.h, src/preprocessor.cpp, src/preprocessor.h: Fix Ticket #30, Need a way to specify include file folders (-I parameter was added) 2009-01-22 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: handle include guards by not checking for configurations in header files 2009-01-21 Nicolas Le Cam * src/preprocessor.cpp: Code cleanup. 2009-01-21 Reijo Tomperi * src/errormessage.h, src/preprocessor.cpp: Fixed style 2009-01-21 Nicolas Le Cam * src/preprocessor.cpp, test/testpreprocessor.cpp: Fix Preprocessor::read to handle char constant of more than one char, fixing issue #45; Fix the test that handle the case. 2009-01-21 Nicolas Le Cam * src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/errormessage.h, test/testunusedvar.cpp, tools/errmsg.cpp: Remove checks that are already covered well by most compilers (Unreachable Code; Assignment in Condition; Unused Variable). 2009-01-21 Reijo Tomperi * src/cppcheck.cpp, src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Fix Ticket #43, preprocessor: include file doesn't work so good in subfolders (note, because of other issues, checking will be very slow now that this is fixed) 2009-01-21 Reijo Tomperi * man/cppcheck.1.xml, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkfunctionusage.cpp, src/checkfunctionusage.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.h, src/errormessage.cpp, src/errormessage.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/preprocessor.cpp, src/preprocessor.h, src/settings.cpp, src/settings.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsimplifytokens.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, tools/dmake.cpp, tools/errmsg.cpp: Fixed Ticket #40, Check copyright texts in files, now that we have new developers. 2009-01-21 Reijo Tomperi * test/testpreprocessor.cpp: Added test case multi_character_character 2009-01-21 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp: uninitialized variables: run always 2009-01-21 Nicolas Le Cam * src/checkother.cpp: Fix CheckOther::functionVariableUsage, passing a variable to a function also means reading it. 2009-01-21 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: handled problem with parsing strings when expanding macros 2009-01-21 Daniel Marjamäki * src/tokenize.cpp: code style 2009-01-21 Daniel Marjamäki * test/testpreprocessor.cpp: preprocessor: Added todo test. It crashes when it's used 2009-01-20 Nicolas Le Cam * src/tokenize.cpp: Fix Tokenizer::setVarId for pointers and two types variable declaration 2009-01-20 Nicolas Le Cam * src/checkother.cpp: CheckOther::functionVariableUsage: minor optimization. 2009-01-20 Nicolas Le Cam * src/token.cpp: Token::Match: Allow pattern like '*|' 2009-01-20 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fixes test case "file2", fixes bug with include file handling 2009-01-20 Nicolas Le Cam * src/checkmemoryleak.cpp, src/tokenize.cpp: Tokenizer: Remove 'unlikely' keyword in simplifyTokenList; Don't check for it in CheckMemoryLeak. 2009-01-20 Daniel Marjamäki * using_gcov.txt: doc: how to use gcov 2009-01-20 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Handle ## 2009-01-20 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: tokenize ## better 2009-01-20 Daniel Marjamäki * test/testtokenize.cpp: tokenizer: added testcase with include files. It should be fixed. 2009-01-20 Daniel Marjamäki * src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h: code cleanup 2009-01-19 Reijo Tomperi * src/errormessage.h, test/testpreprocessor.cpp: Added test case preprocessor_doublesharp, executed ./runastyle for errormessage.h 2009-01-19 Nicolas Le Cam * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h: Update errormessage.h and code using it. 2009-01-19 Nicolas Le Cam * tools/errmsg.cpp: errmsg: Don't create unused parameters 2009-01-19 Reijo Tomperi * cppcheck.cbp: codeblocks project file changed to use make target testrunner, instead of test 2009-01-19 Reijo Tomperi * src/preprocessor.cpp, test/testpreprocessor.cpp: Added a test case and fixed bug. If #include was inside a string, cppcheck hanged in preprocessor. 2009-01-19 Reijo Tomperi * src/cppcheck.cpp: Changed output of the program to print out the file name before preprocessor. 2009-01-19 Reijo Tomperi * src/tokenize.cpp, test/testtokenize.cpp: Fixed bug in line numbers and enabled test case that spots it. 2009-01-19 Daniel Marjamäki * test/testtokenize.cpp: testtokenize: Added test "file1". It currently fails. 2009-01-19 Daniel Marjamäki * src/tokenize.cpp: tokenizer: activated the handling of #file and #endfile 2009-01-19 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Activated the include handling 2009-01-19 Daniel Marjamäki * test/testtokenize.cpp: testtokenize: Removed unneeded test case "define1" 2009-01-19 Daniel Marjamäki * test/testpreprocessor.cpp: testpreprocessor: Removed test that doesn't work now that the preprocessor handles includes 2009-01-19 Kimmo Varis * src/cppcheck.rc: Visual Studio: Fix building resource file with Visual Studio Express. 2009-01-18 Nicolas Le Cam * : Add bugtraq:url and bugtraq:logregex properties 2009-01-18 Reijo Tomperi * src/preprocessor.cpp: Fixing crash, not sure about side effects. Ticket #37 2009-01-18 Reijo Tomperi * src/checkother.cpp, src/preprocessor.cpp: Added temporary bailout code, cppcheck crashes when string checking leaks out. This needs a better fix, this is just to see the problem more easily. 2009-01-18 Nicolas Le Cam * src/checkother.cpp, test/testother.cpp: unreachableCode: Moved warning of a break statement following a return in --style; Added a test case; Minor optimization. 2009-01-18 Leandro Penz * src/checkother.cpp, test/testunusedvar.cpp: functionVariableUsage: no longer SIGSEGVs on unfinished struct. Fixes Ticket #31. 2009-01-18 Reijo Tomperi * src/preprocessor.cpp, src/tokenize.cpp, src/tokenize.h: More work for includes, still commented out. Uncomment from tokenize.cpp and preprocessor.cpp to take into use. 2009-01-18 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h: More work for includes, still commented out. Tokenizer needs #file handling 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp: code style fix 2009-01-18 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: strPlusChar: Fixed false positives 2009-01-18 Reijo Tomperi * src/preprocessor.cpp, src/preprocessor.h: Some work for the include support (commented out for now) 2009-01-18 Daniel Marjamäki * test/testpreprocessor.cpp: preprocessor: make sure macros are not expanded when they are found in strings 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Make sure that "#define ABC (a+b+c)" is expanded correctly 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Reactivated the expandMacros. This time it's done after the #if #else #endif has been processed 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: fixed so the TestPreprocessor::preprocessor_undef succeeds 2009-01-18 Kimmo Varis * win_installer/readme.txt: Improve the Windows installer readme text. 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp: style updated 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Refactoring. Broke out some functionality of expandMacros into a class Macro 2009-01-18 Reijo Tomperi * test/testtokenize.cpp: Fix compile warning signed-unsigned 2009-01-18 Reijo Tomperi * test/testtokenize.cpp: Refactoring: Style applied 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Reverted [1008] - The old expandMacros was readded 2009-01-18 Kimmo Varis * src/cppcheck.rc, src/resource.h: Fix VS build broken due to tripled version resource info. 2009-01-18 Daniel Marjamäki * test/testtokenize.cpp: Tokenizer: Added unit test to check that define is tokenized correctly 2009-01-18 Daniel Marjamäki * src/tokenize.cpp, test/testtokenize.cpp: tokenizer: The tokenizer shouldn't handle comments nor preprocessor directives. The preprocessor will take care of that 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp, src/preprocessor.h, test/testpreprocessor.cpp: Preprocessor: Removed "Preprocessor::expandMacros" and commented all its tests 2009-01-18 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Don't use the "expandMacros" from cppcheck 2009-01-17 Reijo Tomperi * src/checkclass.cpp, test/testclass.cpp: Fix Ticket #32 False positive with --style: Uninitialized member variable (when stream is used) 2009-01-17 Kimmo Varis * src/filelister.cpp: Does not understand . as current folder (Trac #4) 2009-01-17 Reijo Tomperi * test/testclass.cpp: Test case for Ticket #32 2009-01-17 Daniel Marjamäki * src/checkother.cpp, test/testunusedvar.cpp: unused var: fixed false positives when using shift operator 2009-01-17 Reijo Tomperi * tasks.txt: Removed tasks.txt, most of it is moved to Track, some general issues were not 2009-01-17 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/errormessage.h, src/resource.h, test/testbufferoverrun.cpp, tools/errmsg.cpp: bounds checking: Added error message "snprintf size is out of bounds" 2009-01-17 Reijo Tomperi * cppcheck.vcproj, src/cppcheck.rc, src/resource.h: Patch [ 2508549 ] Add Windows version resource 2009-01-17 Reijo Tomperi * win_installer/cppcheck.iss, win_installer/readme.txt: patch [ 2508523 ] Windows installer (with readme.txt based on patch comments) 2009-01-17 Daniel Marjamäki * src/checkmemoryleak.cpp, src/errormessage.h, test/testmemleak.cpp, tools/errmsg.cpp: errmsg: added varname to the message "deallocating a deallocated pointer" 2009-01-17 Daniel Marjamäki * src/checkother.cpp, test/testunusedvar.cpp: unused variable: reading the value of variable in a for loop.. "for(;a;)" see ticket #18 2009-01-17 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: memory leak: detect memory leak (#6) 2009-01-16 Reijo Tomperi * src/cppcheck.cpp: Added .c++ to help texts also. 2009-01-16 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: bail out code in expandMacros 2009-01-16 Reijo Tomperi * src/filelister.cpp: Add support for .c++ files ( Debian Bug#512060: cppcheck: refuses to check .c++ files ) 2009-01-16 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Fixed a null pointer dereference 2009-01-16 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leak: Fixed false positives about deallocating pointer that has already been deallocated 2009-01-16 Daniel Marjamäki * src/checkfunctionusage.cpp: function usage: don't report "main" and "if" as unused 2009-01-16 Daniel Marjamäki * src/checkmemoryleak.cpp: memory leak: don't show debug info 2009-01-16 Kimmo Varis * testrunner.vcproj: Visual Studio: fix testrunner project file by adding subfolders to paths. Disable 'warnings as errors' as there are lots of warnings. 2009-01-15 Daniel Marjamäki * src/checkmemoryleak.cpp, src/errormessage.h, test/testmemleak.cpp, tools/errmsg.cpp: memory leaks: Added checking of deallocate to see that the pointer isn't deallocated already 2009-01-15 Daniel Marjamäki * src/checkother.cpp: code style 2009-01-15 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: str plus char: added simple variable handling 2009-01-15 Daniel Marjamäki * src/checkother.cpp: code style fixing 2009-01-15 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/errormessage.h, test/testother.cpp, tools/errmsg.cpp: str plus char: Added check and error message for str + ch 2009-01-14 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: Bail out the expandMacros if it finds "#undef". The previous handling can cause cppcheck to hang 2009-01-14 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, test/testclass.cpp, tools/errmsg.cpp: errmsg: Added 'condition is always true/false' 2009-01-14 Daniel Marjamäki * src/checkclass.cpp, test/testclass.cpp: Uninitialized member variables: Checking enum variables 2009-01-14 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: a segmentation fault fix. Check if tokens is null. 2009-01-14 Daniel Marjamäki * src/checkmemoryleak.cpp: dos2unix fixing 2009-01-14 Daniel Marjamäki * test/testmemleak.cpp: memory leak: Added test case 2009-01-14 Daniel Marjamäki * src/checkmemoryleak.cpp: memory leak: fixed false positive about using variable after it is released 2009-01-14 Daniel Marjamäki * src/cppcheck.cpp: cppcheck: added function call to the variable scope check. 2009-01-14 Daniel Marjamäki * cppcheck.vcproj: Visual C++: Added "src/errormessage.*" to the project file 2009-01-14 Daniel Marjamäki * src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, test/testbufferoverrun.cpp: buffer overruns: added sprintf checking 2009-01-14 Daniel Marjamäki * src/checkbufferoverrun.h: doxygen: Added comments in checkbufferoverrun.h 2009-01-14 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, test/testmemleak.cpp: Memory leak: Readded some checking to classes 2009-01-14 Leandro Penz * src/checkother.cpp: unreachableCode: avoid SIGSEGV when there is no "}" after return. 2009-01-14 Leandro Penz * src/checkother.cpp, test/testunusedvar.cpp: functionVariableUsage: support for nested struct/union declaration. 2009-01-13 Daniel Marjamäki * src/checkmemoryleak.cpp, test/testmemleak.cpp: Memory leak: Fixed a false positive 2009-01-13 Daniel Marjamäki * src/checkfunctionusage.cpp, src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added 'assignment in if-condition' 2009-01-13 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: refactoring 2009-01-12 Daniel Marjamäki * test/testpreprocessor.cpp: testpreprocessor: commented the "undef" test that doesn't work 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: added message about bad usage of char variable 2009-01-12 Reijo Tomperi * test/testpreprocessor.cpp: Added test case which currently fails, #undef is not handled 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added message for 'incomplete statement' 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added messages for 'variable is not used / not read / not assigned' 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added message 'function parameter is passed by value' 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: added message 'unreachable code below return' 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added 'unused struct member' 2009-01-12 Daniel Marjamäki * test/testdivision.cpp: testdivision: The 'unsigned division' is a style check 2009-01-12 Daniel Marjamäki * src/errormessage.h, tools/errmsg.cpp: errmsg: Made the 'unsigned division' a style error 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/errormessage.h, test/testcharvar.cpp, test/testdivision.cpp, test/testincompletestatement.cpp, test/testother.cpp, test/testredundantif.cpp, test/testunusedvar.cpp, tools/errmsg.cpp: errmsg: Added 'unsigned division' 2009-01-12 Daniel Marjamäki * src/checkclass.cpp: refactoring: cleanup old code 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added message 'Overlapping data buffer' 2009-01-12 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added "found redundant if - 'if (condition);' 2009-01-12 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Style updates 2009-01-12 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Handle newlines better 2009-01-11 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: fixed a small bug when expanding macro without parameter 2009-01-11 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Fixed bug when expanding macros without parameters 2009-01-11 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: expand macro without parameters 2009-01-11 Daniel Marjamäki * src/checkother.cpp, test/testunusedvar.cpp: struct member usage: bail out the check if the struct contain any functions 2009-01-11 Daniel Marjamäki * src/tokenize.cpp, test/testother.cpp: setVarId: Fixed bug (variable id for struct member not correctly set) 2009-01-11 Daniel Marjamäki * test/testpreprocessor.cpp: preprocessor: Added a test to see that "" is handled correctly inside strings 2009-01-11 Daniel Marjamäki * src/checkfunctionusage.cpp, src/errormessage.h, src/preprocessor.cpp, tools/errmsg.cpp: errmsg: the "unused function" message shall not take any Tokenizer nor Token parameters 2009-01-11 Daniel Marjamäki * src/preprocessor.cpp, test/testpreprocessor.cpp: preprocessor: Handle "" better 2009-01-11 Daniel Marjamäki * Makefile, src/checkfunctionusage.cpp, src/cppcheck.cpp, src/errormessage.h, src/settings.cpp, src/settings.h, tools/errmsg.cpp: errmsg: added "unused function" 2009-01-11 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: Minor updates. Moved target "all" a little. Handle the change 937 where "make test" also executes testrunner 2009-01-10 Leandro Penz * Makefile: make test now builds everything and runs all tests. 2009-01-10 Leandro Penz * src/token.cpp, test/testtokenize.cpp: match: skip initial !! patterns if on first token. 2009-01-10 Leandro Penz * src/token.cpp: match: optimisation 2009-01-10 Daniel Marjamäki * src/checkmemoryleak.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: added "mismatching allocation and deallocation" 2009-01-10 Daniel Marjamäki * src/cppcheck.cpp: cppcheck: Minor bug fix 2009-01-10 Daniel Marjamäki * Makefile, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added error messages for "Array index out of bounds" and "Buffer overrun" 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: added error message about virtual destructors 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added "operator= should return something 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errmsg: Added "Using 'memset' on class" 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, test/testunusedprivfunc.cpp, tools/errmsg.cpp: errmsg: Added "Unused private function ..." 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, test/testconstructors.cpp, tools/errmsg.cpp: errmsg: Added "uninitialized member variable" 2009-01-10 Leandro Penz * src/checkmemoryleak.cpp, test/testmemleak.cpp: checkmemoryleak: no longer flag "dealloc ; alloc ; if continue ;" as a leak, even with --all 2009-01-10 Daniel Marjamäki * src/checkother.cpp, test/testunusedvar.cpp: unused struct member: fixed false positive for member "const int a;" 2009-01-10 Daniel Marjamäki * src/checkclass.cpp, test/testother.cpp, tools/errmsg.cpp: astyle: updated the code style 2009-01-10 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: sprintf: fixed bug "false positive when variable is used again after snprintf" 2009-01-10 Daniel Marjamäki * Makefile, src/checkclass.cpp, src/cppcheck.cpp, src/errormessage.h, test/testconstructors.cpp, tools/errmsg.cpp: errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor' 2009-01-10 Daniel Marjamäki * src/errormessage.h, tools/errmsg.cpp: errmsg: bug fix 2009-01-10 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: sprintf: fixed false positives with "sprintf(buf, "%i", sizeof(buf)); 2009-01-10 Daniel Marjamäki * tools/errmsg.cpp: errmsg: reformatted with astyle 2009-01-10 Daniel Marjamäki * tools/errmsg.cpp: errmsg: The generated code is compliant with the astyle formatting 2009-01-10 Daniel Marjamäki * Makefile, tools/dmake.cpp: dmake: minor fixes. The tools binaries will be put in the tools folder 2009-01-10 Daniel Marjamäki * src/token.cpp: match: optimisation 2009-01-10 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: code style fixing 2009-01-10 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: handle the \newline in strings 2009-01-10 Leandro Penz * src/token.cpp, test/testtokenize.cpp: token: when Token::Match reached the end of input, it returned true if the next pattern was !!. It now returns true only if all remaining patterns are !!. 2009-01-09 Reijo Tomperi * tasks.txt: tasks updated, parseArgs refactoring idea was rejected 2009-01-09 Daniel Marjamäki * tasks.txt: tasks: removed the "new checks" sections because these are better reported in the tracker 2009-01-09 Daniel Marjamäki * Makefile, tools/dmake.cpp: make: updated the make so that the tools are built with "make all". And added the errormessage.h generator to the makefile also 2009-01-09 Daniel Marjamäki * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, tools/errmsg.cpp: errormessage: added error message ErrorMessage::dangerousUsageStrtol 2009-01-09 Daniel Marjamäki * src/errormessage.cpp: errormessage: added header 2009-01-09 Daniel Marjamäki * tools/dmake.cpp: dmake: don't generate Makefile if there are no src files 2009-01-09 Daniel Marjamäki * src/tokenize.cpp: tokenize: avoid "terminate called after throwing an instance of 'std::out_of_range'" 2009-01-08 Reijo Tomperi * cppcheck.cbp, test/testpreprocessor.cpp: Added test case for preprocessor which currently fails. codeblocks project file updated, tools-files added. 2009-01-08 Reijo Tomperi * src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/main.cpp: Main returns now EXIT_SUCCESS or EXIT_FAILURE instead of 0. Feature request fixed: [ 2489787 ] Return value of cppcheck is always 0 2009-01-08 Reijo Tomperi * src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, test/testother.cpp: astyle changes, missed from previous commits 2009-01-08 Reijo Tomperi * Makefile, tools/dmake.cpp: Fixed make install from the generated makefile 2009-01-08 Daniel Marjamäki * Makefile, src/checkother.cpp, src/cppcheck.cpp, src/errormessage.h, test/testredundantif.cpp, tools/errmsg.cpp: errormessage: Added a few more messages for checkother.cpp 2009-01-08 Reijo Tomperi * src/errormessage.h, tools/errmsg.cpp: Added license text to errormessage.h (via code tha generates it) and also mention that it is generated by machine 2009-01-08 Daniel Marjamäki * src/checkmemoryleak.cpp, src/cppcheck.cpp, tasks.txt: errormessage: Added the new errormessage handling to cppcheck 2009-01-08 Daniel Marjamäki * src/errormessage.cpp, src/errormessage.h: errormessage: updated the files. the errormessage.h is automaticly generated by the tools/errmsg program 2009-01-08 Daniel Marjamäki * tools/errmsg.cpp: tools/errmsg: some refactoring 2009-01-08 Daniel Marjamäki * src/checkother.cpp, test/testother.cpp: sprintf: check for dangerous usage with sprintf|snprintf with overlapping data 2009-01-08 Daniel Marjamäki * runastyle: runastyle : also set the code style in the tools 2009-01-08 Daniel Marjamäki * tools/dmake.cpp, tools/errmsg.cpp: tools: Added headers to source files 2009-01-07 Daniel Marjamäki * src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/tokenize.cpp, test/testmemleak.cpp: Simplify tokens: add a ";" after case and default 2009-01-07 Daniel Marjamäki * src/preprocessor.cpp: preprocessor: applied patch submitted by kimmov 2009-01-07 Daniel Marjamäki * src/checkclass.cpp, src/checkmemoryleak.cpp, src/preprocessor.cpp, src/token.cpp, src/tokenize.cpp: Reverted [890] it cause more problems with Visual C++ 2009-01-07 Daniel Marjamäki * cppcheck.vcproj: Visual C++: Applied patch "fix_vs_project.patch" that kimmov submitted 2009-01-07 Daniel Marjamäki * tools/dmake.cpp, tools/errmsg.cpp: tools: updated the code style 2009-01-07 Daniel Marjamäki * src/checkclass.cpp, src/checkmemoryleak.cpp, src/preprocessor.cpp, src/token.cpp, src/tokenize.cpp: Borland C++: Removed unneeded ifdefs 2009-01-07 Daniel Marjamäki * runastyle.bat: windows: Added runastyle.bat 2009-01-07 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++: Updated the project files 2009-01-06 Reijo Tomperi * src/checkmemoryleak.cpp: Optimization: 6,2 s -> 5,6 s 2009-01-06 Reijo Tomperi * cppcheck.cbp: Changed codeblocks project file to reflect new build targets 2009-01-06 Daniel Marjamäki * Makefile, tools/dmake.cpp: tools/dmake: A few simple fixes. Commited the new Makefile 2009-01-06 Daniel Marjamäki * tools/Makefile, tools/dmake.cpp: tools: dmake added a tool for maintaining the Makefile 2009-01-06 Reijo Tomperi * doxyfile, tasks.txt: Doxyfile added 2009-01-06 Daniel Marjamäki * tools/errmsg.cpp: tools/errmsg: minor fixes 2009-01-06 Daniel Marjamäki * tools/errmsg.cpp: tools/errmsg: code correction 2009-01-06 Daniel Marjamäki * tools/errmsg.cpp: tools/errmsg: generate documentation 2009-01-06 Daniel Marjamäki * tools/errmsg.cpp: tools/errmsg: generate the function to use when determining if a check should be done or not 2009-01-06 Daniel Marjamäki * tools/errmsg.cpp: tools: Added a folder where we can keep small usable utilities 2009-01-06 Reijo Tomperi * Makefile, checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, cppcheck.cbp, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, errormessage.cpp, errormessage.h, filelister.cpp, filelister.h, main.cpp, preprocessor.cpp, preprocessor.h, runastyle, settings.cpp, settings.h, src/checkbufferoverrun.cpp, src/checkbufferoverrun.h, src/checkclass.cpp, src/checkclass.h, src/checkfunctionusage.cpp, src/checkfunctionusage.h, src/checkheaders.cpp, src/checkheaders.h, src/checkmemoryleak.cpp, src/checkmemoryleak.h, src/checkother.cpp, src/checkother.h, src/cppcheck.cpp, src/cppcheck.h, src/cppcheckexecutor.cpp, src/cppcheckexecutor.h, src/errorlogger.h, src/errormessage.cpp, src/errormessage.h, src/filelister.cpp, src/filelister.h, src/main.cpp, src/preprocessor.cpp, src/preprocessor.h, src/settings.cpp, src/settings.h, src/token.cpp, src/token.h, src/tokenize.cpp, src/tokenize.h, test/testbufferoverrun.cpp, test/testcharvar.cpp, test/testclass.cpp, test/testconstructors.cpp, test/testdivision.cpp, test/testfilelister.cpp, test/testfunctionusage.cpp, test/testincompletestatement.cpp, test/testmemleak.cpp, test/testmemleakmp.cpp, test/testother.cpp, test/testpreprocessor.cpp, test/testredundantif.cpp, test/testrunner.cpp, test/testsimplifytokens.cpp, test/testsuite.cpp, test/testsuite.h, test/testtoken.cpp, test/testtokenize.cpp, test/testunusedprivfunc.cpp, test/testunusedvar.cpp, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testmemleakmp.cpp, testother.cpp, testpreprocessor.cpp, testredundantif.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Refactoring: Added src/ and test/ folders. Moved source files to those folders, updated makefile and codeblocks project file. 2009-01-06 Daniel Marjamäki * tasks.txt: tasks : Added tasks to create a doxygen project file 2009-01-06 Daniel Marjamäki * tasks.txt: tasks: rewrote the tasks file 2009-01-06 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: Preprocessor: Refactoring the unit testing. And enabled the macro expansion 2009-01-06 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: Preprocessor: Improved handling of multiline macros 2009-01-06 Daniel Marjamäki * Makefile: Makefile: Fixed the preprocessor dependencies 2009-01-05 Reijo Tomperi * tasks.txt: tasks.txt updated, %var1% task is done 2009-01-05 Reijo Tomperi * checkmemoryleak.cpp, token.cpp, token.h: Refactoring: %var1% complitely removed. Execution time increased from 4,7 to 6,2 seconds. 2009-01-05 Reijo Tomperi * checkmemoryleak.cpp: Refactoring: Getting rid of %var1% 2009-01-05 Reijo Tomperi * checkmemoryleak.cpp: Refactoring: Getting rid of %var1% 2009-01-05 Daniel Marjamäki * testpreprocessor.cpp: Preprocessor : Added a few more testcases for the macro expansion 2009-01-05 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: Preprocessor: Added simple handling for expanding preprocessor macros 2009-01-05 Daniel Marjamäki * runastyle: runastyle: Added script for running "astyle" with the options I have chosen against all cpp and h files 2009-01-05 Daniel Marjamäki * checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, errormessage.h, filelister.cpp, filelister.h, main.cpp, preprocessor.cpp, preprocessor.h, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testmemleakmp.cpp, testother.cpp, testpreprocessor.cpp, testredundantif.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Style: Updated the coding style with "astyle" 2009-01-05 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: Preprocessor: Began work on the macro handling 2009-01-05 Daniel Marjamäki * checkclass.cpp: Refactoring: Simplified a condition 2009-01-04 Reijo Tomperi * checkclass.cpp: Refactoring: Getting rid of %var1% 2009-01-04 Reijo Tomperi * checkbufferoverrun.cpp: Refactoring: Getting rid of %var1% 2009-01-04 Reijo Tomperi * checkclass.cpp, checkother.cpp, token.cpp: Fixed several bugs from previous commits and added check code that will print errors if varid is 0 when %varid% is given in Match(). 2009-01-04 Reijo Tomperi * checkclass.cpp, token.cpp, token.h: Refactoring: findMatch() that supports varId added. %var1% -> %varid% changed 2009-01-04 Daniel Marjamäki * filelister.cpp: MinGW: Applied the patch submitted by kidkat that makes cppcheck compilable with MinGW 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: variable usage: fixed false positive when using operator '^' 2009-01-04 Reijo Tomperi * filelister.cpp: Made previous feature request fix more portable 2009-01-04 Daniel Marjamäki * cppcheck.cpp: variable usage: The check must be made before simplifyTokenList to avoid false positives 2009-01-04 Reijo Tomperi * filelister.cpp: Fix for feature request: [ 2485706 ] Add support to *.C file extension 2009-01-04 Daniel Marjamäki * checkother.cpp: Variable usage: Addon to previous commit. Also handle "&=" and "^=" 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: unused variable: Fixed false positive when using '|=' assignment 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Variable usage : Fixed false positives for struct/union member variables 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Variable usage: Fixed false positive with operators ~ and ! 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Variable usage: Fixed false positives (tmp1 ? tmp2 : tmp3) 2009-01-04 Daniel Marjamäki * testunusedvar.cpp: variable usage: added a test case to make sure usage in a if is seen 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Variable usage : Fixed false positive with modulo 2009-01-04 Daniel Marjamäki * checkother.cpp: Variable usage: Fixed a segmentation fault 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Struct member usage : Check union member variables at the same time 2009-01-04 Daniel Marjamäki * checkother.cpp: Variable usage: fixed false positives for union member variables 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: struct member usage: fixed false positives 2009-01-04 Reijo Tomperi * checkother.cpp: Refactoring var1 -> varid 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Function usage : Fixed false positives for inline structs 2009-01-04 Daniel Marjamäki * checkother.cpp, testunusedvar.cpp: Variable usage : Fixed a false positive for ("b = (int)a;" => a is read) 2009-01-04 Daniel Marjamäki * tokenize.cpp: tokenize : Removed unneeded variable 2009-01-04 Daniel Marjamäki * checkother.cpp: Refactoring : Changed a 'strcmp' to a 'simpleMatch' 2009-01-03 Reijo Tomperi * checkother.cpp: Possibly bug fix, changed %var% into %var1% as name was also given as a parameter to Match(). Not sure which was intended here. 2009-01-03 Reijo Tomperi * checkbufferoverrun.cpp, checkclass.cpp, checkmemoryleak.cpp, checkother.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: Changed order of parameters in Match() and findMatch() (deprecated parameter moved to last) 2009-01-03 Reijo Tomperi * checkother.cpp, testcharvar.cpp: Refactoring: %var1% -> %varid% 2009-01-03 Reijo Tomperi * checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkheaders.cpp, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, tasks.txt, testmemleak.cpp, testmemleakmp.cpp, testsimplifytokens.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Refactoring: Rename class "TOKEN" to "Token" 2009-01-03 Daniel Marjamäki * cppcheck.cpp: Buffer overrun: Moved the "buffer overrun" and "array index out of bounds" to "--all" because there were false positives 2009-01-03 Reijo Tomperi * Makefile, cppcheck.cbp, errormessage.cpp, errormessage.h: ErrorMessage class added (not used yet and it is still unfinished) 2009-01-03 Daniel Marjamäki * checkmemoryleak.cpp: Refactoring : Removed a short commented code that I never use anyway 2009-01-03 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Using freed memory : Fixed false positive when usage is something like: printf("free %x",p); 2009-01-03 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed a regression and added a test case 2009-01-02 Reijo Tomperi * checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, filelister.cpp, filelister.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testmemleakmp.cpp, testother.cpp, testpreprocessor.cpp, testredundantif.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Copyright 2007-2008 -> 2007-2009 2009-01-02 Reijo Tomperi * token.cpp: Refactoring: Constructor of TOKEN changed to use initialization list instead of assignment. 2009-01-02 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: Preprocessor : Replace "#if defined(.." with "ifdef .." where possible 2009-01-02 Daniel Marjamäki * testmemleak.cpp: Memory leak : Added test case "if10" which is similar to "if9" 2009-01-02 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak: Improved the checking of usage after free (if str is freed then "char c = str[0];" is illegal) 2009-01-02 Daniel Marjamäki * testmemleak.cpp: Memory leak: Renamed the test case "func12" to "if9" 2009-01-02 Nicolas Le Cam * testmemleak.cpp: Memory leak : Add a new test that currently fail to highlight a regression 2009-01-02 Nicolas Le Cam * cppcheck.cpp: Preprocessor: Get rid of an unused parameter 2009-01-02 Nicolas Le Cam * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: Preprocessor: Get rid of an unused parameter 2009-01-02 Nicolas Le Cam * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Completly fix false positive when using callbacks (Bug 2458510) 2009-01-01 Reijo Tomperi * checkother.cpp: Refactoring: i++; changed to ++i; 2009-01-01 Reijo Tomperi * checkbufferoverrun.cpp, checkclass.cpp, checkheaders.cpp, checkmemoryleak.cpp, checkother.cpp, cppcheck.cpp, preprocessor.cpp, testmemleak.cpp, testsuite.cpp, token.cpp, tokenize.cpp: Refactoring: Prefer ++i; over i++; 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Changed the handling of "realloc" a little. The "getcode" will return "realloc" instead. And this will be converted to "dealloc;alloc;" before simplifycode 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : a little different handling when the callstack gets too big 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : fixed false positive when there are recursive calls. (using memory after it has been freed) 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed false positives for "memory is used after it has been freed" 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Fixed a bug in getcode (assignment) 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp, testtoken.cpp, token.cpp, token.h, tokenize.cpp: TOKEN: Renamed TOKEN::setstr to TOKEN::str 2009-01-01 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fix to avoid false positives 2008-12-31 Daniel Marjamäki * checkmemoryleak.cpp: memory leak: removed 'if(true)' and 'if(false)' as these are handled in the tokenizer instead 2008-12-31 Daniel Marjamäki * releasenotes.txt: releasenotes : removed this file 2008-12-31 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Added check "Using resource after it has been released" 2008-12-31 Daniel Marjamäki * checkother.cpp: if checking : fixed bug in previous commit 2008-12-31 Daniel Marjamäki * checkother.cpp: if statements : bug fix and refactorings in the checking for "if (condition);" 2008-12-30 Daniel Marjamäki * cppcheck.cpp: help : minor updates to help text that cppcheck shows when no parameters are given 2008-12-30 Daniel Marjamäki * readme.txt: readme : minor updates 2008-12-30 Reijo Tomperi * cppcheck.cpp: c++check -> cppcheck 2008-12-30 Daniel Marjamäki * releasenotes.txt: releasenotes : edit 2008-12-30 Daniel Marjamäki * cppcheck.cpp: cppcheck : updated version to 1.27 in help text 2008-12-29 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Reverted 796 and 797. I didn't see definite improvements 2008-12-29 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Removed checking of 'if(true)' and 'if(false)' as these are handled in the Tokenizer 2008-12-29 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Optimising the 'CheckMemoryLeakClass::simplifycode' 2008-12-28 Daniel Marjamäki * checkmemoryleak.cpp: Memory leak : Remove false positive for "if (cond1) str=strdup(); if (cond2) str=strdup();" 2008-12-28 Daniel Marjamäki * checkmemoryleak.cpp: memory leak : fixed false positive for "list << data" 2008-12-28 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed false positive for "list += data" 2008-12-28 Reijo Tomperi * cppcheck.cpp: Bail out text is now not printed with --quiet option 2008-12-28 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed a problem with a fclose inside an if condition 2008-12-28 Reijo Tomperi * releasenotes.txt: releasenotes updated command line options made more accurate 2008-12-28 Daniel Marjamäki * releasenotes.txt: releasenotes : Added release notes for the coming 1.27 release 2008-12-28 Daniel Marjamäki * tokenize.cpp: Tokenizer::setVarId : Minor bug fix 2008-12-27 Reijo Tomperi * tokenize.cpp: Optimizing setVarId() 2008-12-27 Reijo Tomperi * preprocessor.cpp, preprocessor.h: preprocessor optimized to handle faster removal of spaces near newline 2008-12-27 Daniel Marjamäki * testrunner.vcproj: Visual C++ : Updated the project file 2008-12-27 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak: Added check "TestMemoryLeak::throw2" (no false positive upon throw) 2008-12-27 Reijo Tomperi * cppcheck.cpp, man/cppcheck.1.xml, readme.txt, settings.cpp, settings.h: Bailing out if too many (over 12) configurations found froma file. --force parameter added to prevent this from happening. 2008-12-27 Reijo Tomperi * preprocessor.cpp: Change one while loop to use stl algorithms and added TODO about slow part of code 2008-12-26 Reijo Tomperi * cppcheck.cpp, preprocessor.cpp, preprocessor.h: Added preprocessor a way to retrieve configurations and file content one configuration at time, because large files could consume 500 MB or even more memory. 2008-12-26 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leaks : Fixed false positive for "p" when there is a line such as "p2 = p + 1;" 2008-12-26 Daniel Marjamäki * testsimplifytokens.cpp: removeRedundantConditions : Added a simple test case for "else if (false)" 2008-12-26 Daniel Marjamäki * testsimplifytokens.cpp: removeRedundantConditions : Fixed the test case added in [777] 2008-12-26 Daniel Marjamäki * testsimplifytokens.cpp: removeReduntantConditions : Added test case 2008-12-26 Reijo Tomperi * testsimplifytokens.cpp, tokenize.cpp, tokenize.h: removeReduntantConditions() can now handle if( true ) else if () conditions also. 2008-12-26 Daniel Marjamäki * testmemleak.cpp: Memory leak : Added TODO test case "class3". It currently fails 2008-12-25 Daniel Marjamäki * tokenize.cpp: refactoring : Removed unread variable 'staticfunc' 2008-12-25 Daniel Marjamäki * checkbufferoverrun.cpp, token.cpp, token.h, tokenize.cpp: TOKEN::Match : Removed the parameter varnames2 because it's unused and deprecated 2008-12-25 Daniel Marjamäki * token.cpp: uniformize files 2008-12-25 Daniel Marjamäki * Makefile, Makefile.gprof: Makefile : Removed the .gprof makefile and added a CGLAGS variable so the normal Makefile can easily be changed 2008-12-25 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leaks : Fixed false positive with return (Bug 2458436) 2008-12-25 Daniel Marjamäki * Makefile: Makefile : Reverted the Makefile changes in [763] because they were committed by mistake 2008-12-25 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed false positive when using callbacks (Bug 2458510) 2008-12-24 Reijo Tomperi * tokenize.cpp: Cleanup to removeReduntantConditions() 2008-12-24 Daniel Marjamäki * Makefile.gprof: added Makefile that can be used when profiling cppcheck with gprof 2008-12-24 Reijo Tomperi * tokenize.cpp: Minor improvement to removeReduntantConditions() 2008-12-24 Daniel Marjamäki * tokenize.cpp: tokenize : optimising "simplifyConditions" 2008-12-24 Daniel Marjamäki * Makefile, tokenize.cpp: Tokenizer::setVarId : small optimisations 2008-12-24 Daniel Marjamäki * checkmemoryleak.cpp: memory leaks : optimising 'simplifycode' 2008-12-24 Daniel Marjamäki * checkclass.cpp: checkclass : simple refactorings. Use Match pattern better. Use str() and simpleMatch instead of Match when possible 2008-12-23 Reijo Tomperi * token.h: Some comments added 2008-12-23 Nicolas Le Cam * token.cpp: Formatting: demux simpleMatch for readability 2008-12-23 Reijo Tomperi * token.cpp, token.h: Optimization: isNotPattern() removed 2008-12-23 Daniel Marjamäki * tokenize.cpp: tokenize : small optimisations. Use simpleMatch and direct std::string comparisons instead of Match 2008-12-23 Reijo Tomperi * token.cpp: Optimization, improved Match(). The str[0] == '%' improvement 2008-12-23 Nicolas Le Cam * token.cpp: Fix comparison between signed and unsigned integer expressions warning 2008-12-23 Daniel Marjamäki * tokenize.cpp: simplifyKnownVariables : optimisation 2008-12-23 Daniel Marjamäki * checkmemoryleak.cpp: memory leaks : bug fix 2008-12-23 Daniel Marjamäki * testsimplifytokens.cpp, testtokenize.cpp, tokenize.cpp: simplifyIfAddBraces : Further fixes so that braces will be added to an "else" statement too 2008-12-23 Daniel Marjamäki * checkbufferoverrun.cpp: checkbufferoverrun : a bug fix and a better use of Match 2008-12-22 Nicolas Le Cam * checkbufferoverrun.cpp: Minor optimizations: introduce use of simpleMatch, don't use [simple]Match on one word patterns; Minor style formattings 2008-12-22 Nicolas Le Cam * filelister.cpp: Fix FileLister::RecursiveAddFiles on files without a base path. 2008-12-22 Daniel Marjamäki * testsimplifytokens.cpp, testtokenize.cpp, tokenize.cpp: simplifyIfAddBraces : Added check to cppcheck as it seems to work pretty good now 2008-12-22 Daniel Marjamäki * tokenize.cpp: simplifyIfAddBraces : Fixed a segmentation fault 2008-12-22 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: simplifyIfAddBraces : Fixed minor bug that caused the closing brace to be put on the wrong place 2008-12-22 Daniel Marjamäki * testtokenize.cpp: TestTokenizer : Split the test TestTokenizer::simplifyKnownVariables into 5 separate tests 2008-12-22 Daniel Marjamäki * testtokenize.cpp: TestTokenizer : Broke up TestTokenizer::ifAddBraces into a few separate tests 2008-12-22 Daniel Marjamäki * tokenize.cpp: simplifyIfAddBraces : Fixed segmentation fault 2008-12-22 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leaks : Reduce "if { dealloc ; return ; } if return ;" to "if return ;". Related with bug 2458532 2008-12-22 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp, tokenize.h: Tokenizer : Added function 'simplifyIfAddBraces' 2008-12-22 Nicolas Le Cam * token.cpp: Fix simpleMatch when pattern only contain one word 2008-12-21 Nicolas Le Cam * token.cpp, token.h: Implement simpleMatch that should be use when pattern contains no flags 2008-12-21 Reijo Tomperi * testsimplifytokens.cpp, tokenize.cpp, tokenize.h: More improvement to removeReduntantConditions() and few tests for it also 2008-12-21 Reijo Tomperi * testtokenize.cpp, tokenize.cpp, tokenize.h: Remove reduntant if sentences that are never executed. 2008-12-21 Nicolas Le Cam * tokenize.cpp: Optimization: Speed up typedef simplification. 2008-12-21 Nicolas Le Cam * tokenize.cpp: Fix signed/unsigned warning (thanks Aggro) 2008-12-21 Nicolas Le Cam * checkmemoryleak.cpp, token.cpp, tokenize.cpp: Refactoring: strdup also exists in MSVS 2008-12-21 Nicolas Le Cam * token.cpp, token.h, tokenize.cpp: Opimization: Remove combineWithNext Member, use an array instead 2008-12-21 Reijo Tomperi * testsimplifytokens.cpp: Few tests added for checking simplify of if sentences 2008-12-21 Reijo Tomperi * tokenize.cpp: Fixed bug, varid was not assigned properly when bool use = false; was splitted into two statements in simplify code. 2008-12-21 Reijo Tomperi * token.cpp, token.h, tokenize.cpp: Improving simplifyKnownVariables() to simplify bool variables used inside if() like int values are simplified. 2008-12-21 Reijo Tomperi * checkbufferoverrun.cpp: Fixed one compiler (gcc) warning. 2008-12-21 Nicolas Le Cam * checkbufferoverrun.cpp: Fix bug I introduced in rv727 2008-12-21 Nicolas Le Cam * checkbufferoverrun.cpp, checkmemoryleak.cpp, tokenize.cpp: Minor optimizations and fixes 2008-12-21 Daniel Marjamäki * tokenize.cpp: simplifyKnownVariables: fixed a segmentation fault 2008-12-20 Reijo Tomperi * checkother.cpp, testother.cpp: Fixed bug with redundant condition: http://sourceforge.net/forum/forum.php?thread_id=2711792&forum_id=693501 2008-12-20 Daniel Marjamäki * checkmemoryleak.cpp, checkmemoryleak.h, testmemleakmp.cpp: Memory leak : Updated the multipass checking a little 2008-12-20 Reijo Tomperi * testclass.cpp: Updated the test to reflect change in previous commit 2008-12-20 Reijo Tomperi * checkclass.cpp: Improved the error message related to virtual destructors 2008-12-20 Daniel Marjamäki * checkclass.cpp: refactoring : Replaced "aaaa" with "str" 2008-12-20 Daniel Marjamäki * cppcheck.cbp, testmemleakmp.cpp: codeblocks : added testmemleakmp 2008-12-20 Daniel Marjamäki * Makefile, checkclass.cpp, checkmemoryleak.cpp, checkmemoryleak.h: memory leak : Added experimental functionality for multipass checking of memory leaks. Only added in the unit tests yet. 2008-12-20 Daniel Marjamäki * token.cpp, token.h: Refactoring : Removed the function 'findtoken' 2008-12-20 Daniel Marjamäki * checkclass.cpp: Refactoring : Replaced findtoken with findmatch 2008-12-20 Daniel Marjamäki * checkother.cpp: refactoring : Replaced 'findtoken' with 'findmatch' 2008-12-20 Daniel Marjamäki * checkbufferoverrun.cpp: buffer overrun : Refactoring 2008-12-20 Daniel Marjamäki * checkbufferoverrun.cpp, checkbufferoverrun.h, cppcheck.cpp, testbufferoverrun.cpp: buffer overruns : renamed functions + minor simplification 2008-12-20 Daniel Marjamäki * checkclass.cpp, checkclass.h, cppcheck.cpp, testconstructors.cpp, testunusedprivfunc.cpp: Class checking : Renamed the check functions 2008-12-19 Reijo Tomperi * man/cppcheck.1.xml: Man page updated 2008-12-19 Reijo Tomperi * cppcheck.cbp: Project file updated 2008-12-19 Reijo Tomperi * testother.cpp: Updated app name and copyright to this new file also 2008-12-19 Reijo Tomperi * man/cppcheck.1.xml: Updated author names to man page 2008-12-19 Daniel Marjamäki * Makefile, testother.cpp: Redundant condition: Added a test case when a condition is not redundant 2008-12-19 Reijo Tomperi * checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, filelister.cpp, filelister.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testpreprocessor.cpp, testredundantif.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Copyright and app name changed in each file 2008-12-19 Reijo Tomperi * filelister.cpp, testclass.cpp: Fixed bug, checking single file was not possible. Few new tests added also 2008-12-19 Reijo Tomperi * checkfunctionusage.cpp, checkfunctionusage.h, cppcheck.cpp: Don't use keyword "this" in constructor 2008-12-19 Reijo Tomperi * man/cppcheck.1.xml, readme.txt: Update man page and readme to reflect the new syntax 2008-12-19 Reijo Tomperi * cppcheck.cpp: Interface: Tags -a, -q, -s and -v added. 2008-12-19 Reijo Tomperi * cppcheck.cpp: Interface: New version of interface and help texts, --errorsonly changed to --quiet 2008-12-19 Reijo Tomperi * cppcheck.cpp: Interface: Removed --recursive option, made it default. Changed help texts. 2008-12-19 Daniel Marjamäki * cppcheck.vcproj: visual c++: updated the project file 2008-12-18 Nicolas Le Cam * checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, filelister.cpp, filelister.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testpreprocessor.cpp, testredundantif.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtoken.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Formatting: uniformize end of lines. 2008-12-18 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: variable id : set variable ids for struct members 2008-12-18 Daniel Marjamäki * token.cpp: token : if setstr is used clear the variable id 2008-12-18 Daniel Marjamäki * checkmemoryleak.cpp: Memory leaks : Remove "if break|continue ;" that may otherwise cause false positives 2008-12-18 Daniel Marjamäki * tokenize.cpp: tokenizer : using the simplifyKnownVariables 2008-12-17 Daniel Marjamäki * checkclass.cpp, testclass.cpp: virtual destructors : no errormessage if the derived class has no destructor or empty destructor 2008-12-17 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: memory leak : fixed 2 bugs related to the testcases TestMemleak::if7 and TestMemleak::simple9 2008-12-17 Daniel Marjamäki * token.cpp, token.h, tokenize.cpp: token : fixed so that TOKEN::_previous is updated when deleting tokens 2008-12-17 Daniel Marjamäki * testsuite.cpp, testsuite.h: testsuite : make it possible to run a specific testcase 2008-12-16 Daniel Marjamäki * testmemleak.cpp: Memory leak : Added a test case for future checking of struct members 2008-12-16 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed issue 2429936 - false positive reported on the break in the code "loop { dealloc ; alloc ; if break ; }" 2008-12-16 Daniel Marjamäki * testmemleak.cpp: Memory leaks : Added test case for bug 2429936 2008-12-16 Daniel Marjamäki * checkmemoryleak.cpp, testmemleak.cpp: Memory leak : Fixed bug described in issue 2432631. False positive on something like this.. "alloc ; if(!var) alloc;" 2008-12-16 Daniel Marjamäki * token.cpp, token.h: token : minor refactoring to TOKEN::insertToken. Give the linenr and fileIndex the same values as this token. It's better than nothing 2008-12-15 Nicolas Le Cam * checkother.cpp, checkother.h, cppcheck.cpp: Removes WarningIs(Alpha|Digit) checks as this can introduce more problems than fixes. 2008-12-15 Daniel Marjamäki * tasks.txt: tasks : Added task for optimising TOKEN::Match 2008-12-15 Daniel Marjamäki * checkother.cpp, testredundantif.cpp: Redundant condition : fixed the checking 2008-12-15 Daniel Marjamäki * Makefile, checkother.cpp, checkother.h, testredundantif.cpp: Redundant condition : Added a check 2008-12-14 Nicolas Le Cam * tokenize.cpp: Fix compilation 2008-12-14 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckFunctionUsage.cpp, CheckFunctionUsage.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, FileLister.cpp, FileLister.h, checkbufferoverrun.cpp, checkbufferoverrun.h, checkclass.cpp, checkclass.h, checkfunctionusage.cpp, checkfunctionusage.h, checkheaders.cpp, checkheaders.h, checkmemoryleak.cpp, checkmemoryleak.h, checkother.cpp, checkother.h, filelister.cpp, filelister.h, testfilelister.cpp: Refactoring and fix to previous commits by me, forgot to actually rename the files before ... 2008-12-14 Nicolas Le Cam * FileLister.cpp, tokenize.cpp: Formatting: uniformize end of lines. 2008-12-14 Reijo Tomperi * Makefile, cppcheck.cbp, cppcheck.cpp, cppcheck.h, testbufferoverrun.cpp, testcharvar.cpp, testclass.cpp, testconstructors.cpp, testdivision.cpp, testfilelister.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp: Refactoring: Renamed all files to lower case. Also added testfilelister.cpp which was forgotted from previous commit. 2008-12-14 Reijo Tomperi * FileLister.cpp, FileLister.h, Makefile, tokenize.cpp: Fixed bug, paths like "/path/../index.h" created duplicate warnings with files like "/index.h". Relative paths are now simplified to look a like. Test cases added. 2008-12-14 Nicolas Le Cam * CheckMemoryLeak.cpp, testtoken.cpp, testtokenize.cpp, tokenize.cpp, tokenize.h: Formatting: uniformize end of lines. 2008-12-14 Nicolas Le Cam * tasks.txt: Add something I want to work on 2008-12-14 Nicolas Le Cam * tokenize.cpp: Add the last c++ cast operator 2008-12-14 Daniel Marjamäki * tasks.txt: tasks : things that can be done 2008-12-13 Reijo Tomperi * testtokenize.cpp: Old TODO comment removed 2008-12-13 Reijo Tomperi * testtokenize.cpp: More tests added for simplifyKnownVariables() 2008-12-13 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: tokenizer : updated simplifyKnownVariables 2008-12-13 Reijo Tomperi * testtokenize.cpp, tokenize.cpp, tokenize.h: Started making simplifyKnownVariables(), but it is very much unfinished. Two test cases added for it. 2008-12-13 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak : added standard functions that are safe and doesn't need to be checked 2008-12-13 Reijo Tomperi * tokenize.cpp, tokenize.h: Refactoring, simplifyConditions(), simplifyCasts() and simplifyFunctionReturn() now return the opposite of their boolean return value. 2008-12-13 Daniel Marjamäki * testmemleak.cpp, tokenize.cpp, tokenize.h: Tokenizer : Simplify function calls for functions that only returns a constant value 2008-12-13 Daniel Marjamäki * testmemleak.cpp, tokenize.cpp, tokenize.h: Tokenizer : Added function for simplifying casts 2008-12-13 Nicolas Le Cam * CheckFunctionUsage.cpp, testsimplifytokens.cpp: Refactoring: changed "aaaa" to "str" 2008-12-13 Nicolas Le Cam * CheckBufferOverrun.cpp, CheckMemoryLeak.cpp, cppcheck.cpp, preprocessor.cpp, preprocessor.h, testbufferoverrun.cpp, testmemleak.cpp, testtokenize.cpp, token.cpp, token.h, tokenize.cpp: Formatting: uniformize end of lines. 2008-12-13 Nicolas Le Cam * testmemleak.cpp: Add three memoryleak tests involving pointer casting that currently 'fail' 2008-12-13 Daniel Marjamäki * testmemleak.cpp: Memory leak : Added a test case for false positive when using function call 2008-12-13 Daniel Marjamäki * CheckBufferOverrun.cpp, testbufferoverrun.cpp: Buffer overrun : Use variable id if available in check of memset etc 2008-12-13 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak : Fixed a test where pointer is reassigned 2008-12-12 Reijo Tomperi * testmemleak.cpp: Slightly improved test case 2008-12-12 Reijo Tomperi * testmemleak.cpp: Added test case for false positive, fails currently 2008-12-12 Reijo Tomperi * CheckMemoryLeak.cpp: Refactoring, some !Match() calls chanded into using !!else syntax 2008-12-12 Reijo Tomperi * testtokenize.cpp, token.cpp, token.h: TOKEN: Patterns like "if ; !!else" are now possible 2008-12-12 Daniel Marjamäki * tokenize.cpp: Tokenizer::SetVarId : Fixed segmentation fault 2008-12-12 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckBufferOverrun.h, testbufferoverrun.cpp: CheckBufferOverrun : Using variable id to check local array variables 2008-12-12 Reijo Tomperi * testmemleak.cpp: testmemleak: Added 2 tests, fopen() and popen() should return resource leak, instead of memory leak 2008-12-12 Daniel Marjamäki * testbufferoverrun.cpp: testbufferoverrun : Added a testcase where variable id is needed to avoid false positive 2008-12-12 Reijo Tomperi * CheckMemoryLeak.cpp, CheckMemoryLeak.h: Memoryleak: fopen and popen report now "Resource leak" instead of "Memory leak" 2008-12-12 Nicolas Le Cam * token.cpp: Fix a crash in eraseToken 2008-12-11 Nicolas Le Cam * CheckOther.cpp: Fix compilation under VS2003 2008-12-11 Reijo Tomperi * cppcheck.cpp: Minor bug fix, CppCheck::Check didn't reset error list after all checking was done. 2008-12-11 Daniel Marjamäki * cppcheck.cpp, preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: preprocessing : Skip special characters. Refactoring. 2008-12-11 Daniel Marjamäki * todo.txt: todo : deleted this deprecated file 2008-12-11 Daniel Marjamäki * readme.txt: readme : fixed the readme file 2008-12-11 Daniel Marjamäki * CheckMemoryLeak.cpp: memory leak : Minor fixes to make the unit tests work 2008-12-10 Daniel Marjamäki * CheckClass.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, FileLister.cpp, FileLister.h, testmemleak.cpp: code cleanups 2008-12-10 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leaks : Minor updates and refactoring 2008-12-10 Daniel Marjamäki * CheckOther.cpp: Borland C++ : minor update to make the code compilable with borland c++ 2008-12-10 Daniel Marjamäki * CheckClass.cpp: Virtual destructor : minor fix to avoid false positives when more modifiers are used 2008-12-10 Daniel Marjamäki * FileLister.cpp, FileLister.h: FileLister: Borland can use windows api for file searching 2008-12-09 Reijo Tomperi * cppcheck.cbp, token.cpp, token.h: Project file updated (testtoken.cpp was missing), added TOKEN::printOut() function to help with debugging. 2008-12-09 Reijo Tomperi * Makefile, testtoken.cpp: Added test file for TOKEN class 2008-12-09 Reijo Tomperi * CheckMemoryLeak.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: Moved token creation and token deletion into TOKEN class. Added previous() (not tested yet) 2008-12-09 Daniel Marjamäki * cppcheck.cpp: cppcheck : Set variable ids 2008-12-09 Daniel Marjamäki * testmemleak.cpp: testmemleak : added a unit test that ensures that the variable id handling works correctly. But it's currently not working, and therefore it's commented out 2008-12-09 Daniel Marjamäki * token.cpp, token.h: token : Updated the "Match" function so it can check the variable id 2008-12-09 Daniel Marjamäki * CheckOther.cpp: Variable usage : 2 more fixes 2008-12-09 Nicolas Le Cam * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckFunctionUsage.cpp, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, FileLister.cpp, FileLister.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testconstructors.cpp, testfunctionusage.cpp, testmemleak.cpp, testpreprocessor.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtokenize.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Formatting: uniformize end of lines. 2008-12-08 Nicolas Le Cam * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckFunctionUsage.cpp, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, FileLister.cpp, FileLister.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testconstructors.cpp, testfunctionusage.cpp, testmemleak.cpp, testpreprocessor.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtokenize.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Revert revisions 627 and 628 2008-12-08 Nicolas Le Cam * CheckBufferOverrun.cpp, CheckClass.cpp, CheckClass.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, FileLister.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testconstructors.cpp, testfunctionusage.cpp, testmemleak.cpp, testpreprocessor.cpp, testsimplifytokens.cpp, testsuite.h, testtokenize.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Formatting: uniformize end of lines (part 2) 2008-12-08 Nicolas Le Cam * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckFunctionUsage.cpp, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, FileLister.cpp, FileLister.h, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, main.cpp, preprocessor.cpp, preprocessor.h, settings.cpp, settings.h, testbufferoverrun.cpp, testconstructors.cpp, testfunctionusage.cpp, testmemleak.cpp, testpreprocessor.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtokenize.cpp, testunusedvar.cpp, token.cpp, token.h, tokenize.cpp, tokenize.h: Formatting: uniformize end of lines. 2008-12-08 Nicolas Le Cam * token.cpp: TOKEN::Match minor optimization 2008-12-08 Reijo Tomperi * CheckFunctionUsage.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: Rest of the public variables in TOKEN moved to private area. 2008-12-08 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckFunctionUsage.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, errorlogger.h, testbufferoverrun.cpp, testsimplifytokens.cpp, testtokenize.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: TOKEN::next renamed to _next, getter and setter functions for it added next() and next(TOKEN*). 2008-12-08 Daniel Marjamäki * CheckOther.cpp: Variable usage : A few small fixes to reduce false positives 2008-12-08 Reijo Tomperi * testtokenize.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: TOKEN::varId was moved from public to private 2008-12-08 Daniel Marjamäki * testtokenize.cpp, token.h, tokenize.cpp, tokenize.h: Variable Id : First simple implementation 2008-12-08 Daniel Marjamäki * testsuite.h: testing : Minor fix for ASSERT_EQUALS macro 2008-12-08 Nicolas Le Cam * testtokenize.cpp: Fix two warnings 2008-12-08 Nicolas Le Cam * CheckClass.cpp: Virtual Destructor : Minor optimization 2008-12-08 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++ : Updated project files cppcheck and testrunner 2008-12-07 Nicolas Le Cam * testunusedvar.cpp: Fix compilation 2008-12-07 Daniel Marjamäki * CheckOther.cpp, cppcheck.cpp, testunusedvar.cpp: function variable usage : various fixes. but probably more fixes are needed. 2008-12-07 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, testunusedvar.cpp: function variable usage : Added a simple check 2008-12-07 Reijo Tomperi * testtokenize.cpp, token.cpp: Fixed bug in TOKEN::multiCompare. "abc" and "a" were matched. 2008-12-07 Nicolas Le Cam * CheckMemoryLeak.cpp: Minor optimization. Reuse findmatch result instead of recalling it 2008-12-07 Daniel Marjamäki * testtokenize.cpp: tokenizer : The token "a" shouldn't match the pattern "abc|def", added assertion to a test but it's currently commented because it fails 2008-12-07 Nicolas Le Cam * CheckClass.cpp, testconstructors.cpp: Constructors: Fix checking of 'operator=' with test 2008-12-07 Daniel Marjamäki * cppcheck.cbp: cppcheck.cbp : Added testclass.cpp 2008-12-07 Daniel Marjamäki * CheckClass.cpp, testclass.cpp: Virtual destructors : Don't check base classes when inheritance is non-public 2008-12-07 Daniel Marjamäki * CheckClass.cpp, CheckClass.h, testconstructors.cpp: Constructors : Refactoring + Added checking of 'operator=' 2008-12-07 Daniel Marjamäki * tokenize.cpp: Fixed a bug in Tokenizer::simplifyTokenList. The keyword operator is never used in a variable declaration 2008-12-07 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leaks : Handle assignments better - bug 2395524 2008-12-07 Daniel Marjamäki * CheckClass.cpp: Check constructors: Minor optimisation 2008-12-07 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Constructors : Fixed so the test that kush_eplus added works 2008-12-07 Daniel Marjamäki * CheckClass.cpp: Refactoring. Use "str" instead of "aaaa0" 2008-12-07 Daniel Marjamäki * CheckClass.cpp: Refactoring: use "findmatch" instead of "findtoken" 2008-12-07 Daniel Marjamäki * CheckClass.cpp, testclass.cpp: Virtual destructors : Handle inheritance where "private|protected|public" is not defined 2008-12-07 Nicolas Le Cam * testconstructors.cpp: Add a test case that currently fail 2008-12-07 Nicolas Le Cam * FileLister.cpp: Fix bug when calling cppcheck without --recursive flag 2008-12-06 Daniel Marjamäki * testclass.cpp: Virtual destructors : Minor fix to a test to handle a private inheritance 2008-12-06 Daniel Marjamäki * CheckClass.cpp: Virtual Destructors : pattern for declaring a derived class... "class %var% : public|protected|private %var% .." 2008-12-06 Daniel Marjamäki * CheckClass.cpp, testclass.cpp: virtual destructor : iterate through base classes for a derived class to check that the destructor in each base class i virtual 2008-12-06 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized member variables : Don't give false positives for private constructors 2008-12-06 Daniel Marjamäki * Makefile, testclass.cpp: testclass : Added a new unit testing file 2008-12-06 Daniel Marjamäki * CheckClass.cpp: Minor optimisation. Don't do redundant checking 2008-12-06 Daniel Marjamäki * tokenize.cpp: tokenize: "~Base" should generate two tokens. "~" and "Base" 2008-12-06 Daniel Marjamäki * CheckClass.cpp, CheckClass.h, cppcheck.cpp: Class checking : Check that base class destructors are virtual. Experimental 2008-12-06 Daniel Marjamäki * CheckClass.cpp, CheckClass.h: CheckClass : Refactoring - Removed include and moved struct VAR into the class 2008-12-06 Daniel Marjamäki * CheckOther.cpp: Unreachable code : minor bug fixes 2008-12-06 Daniel Marjamäki * CheckOther.cpp: Unreachable code : Fixed false positives for label 2008-12-06 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, cppcheck.cpp: Added check that detects unreachable code below a 'return' statement 2008-12-06 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory leaks: Better handling of "realloc". Fixing bug [ 2395262 ] 2008-12-06 Daniel Marjamäki * token.cpp: TODO: Added a todo for refactoring TOKEN::Match 2008-12-06 Daniel Marjamäki * tokenize.cpp: Tokenizer: Remove "volatile" keyword to simplify checking 2008-12-06 Daniel Marjamäki * testtokenize.cpp: Fixed so that the expected and actual values in asserts are not mixed 2008-12-06 Daniel Marjamäki * testtokenize.cpp: testtokenize: Added TestTokenize::match1 that makes sure the old matching of "|" and "||" still works 2008-12-06 Reijo Tomperi * CheckMemoryLeak.cpp: CheckMemoryLeak.cpp, g_renew and g_try_renew also removed 2008-12-06 Reijo Tomperi * CheckMemoryLeak.cpp: Memory leak: False positive with g_realloc(). Removed g_realloc() and g_try_realloc() for now. See feature request [ 2395262 ] Check leaks with realloc, g_realloc and g_try_realloc() 2008-12-06 Reijo Tomperi * cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h: cppcheck and executor, fixed compiling error 2008-12-06 Daniel Marjamäki * cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h: refactoring: Increased constness of function parameters 2008-12-05 Reijo Tomperi * preprocessor.cpp: Preprocessor: Fixed bug, read() didn't handle correctly string constants like this: "\"" 2008-12-05 Reijo Tomperi * CheckBufferOverrun.cpp, token.cpp: Token: Fixed bug in match function, simplified CheckBufferOverrun code 2008-12-05 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: refactoring - changed "aaaa" to "str" 2008-12-05 Daniel Marjamäki * tokenize.cpp: tokenize: Replace a complicated condition with a "Match" 2008-12-05 Daniel Marjamäki * tokenize.cpp: tokenize: Replace "aaaa" and "strcmp" with "str" and "Match" 2008-12-05 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Refactoring so str and Match is used instead of aaaa and strcmp etc 2008-12-05 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Replaced a few "strcmp" with "==" 2008-12-05 Daniel Marjamäki * CheckBufferOverrun.cpp: Buffer overrun: Minor refactoring. Use the Match function better. 2008-12-05 Daniel Marjamäki * tokenize.cpp: tokenize: Minor refactorings 2008-12-05 Daniel Marjamäki * CheckOther.cpp: CheckOther: Fixed a compiler warning 2008-12-04 Reijo Tomperi * testtokenize.cpp, token.cpp: Bug fix: Minor bug in previous commit, test added to catch that bug also. 2008-12-04 Reijo Tomperi * testtokenize.cpp, token.cpp, token.h, tokenize.cpp: TOKEN: Match() function improved, %any% and const|volatile kind of patterns are now accepted. Simplified comparing on tokenize.cpp. 2008-12-04 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: Tokenizer: Simplify numeric comparisons 2008-12-04 Daniel Marjamäki * testsuite.cpp: testsuite: show diffing strings better when they are not equal 2008-12-04 Daniel Marjamäki * testtokenize.cpp: TestTokenize: Use TOKEN::str() instead of TOKEN::aaaa() where possible 2008-12-04 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: Preprocessor: Minor refactoring and improved testing 2008-12-03 Reijo Tomperi * testtokenize.cpp, tokenize.cpp: Tokenizer: Fixed bug, const and volatile functions were not recogniced by fillFunctionList() 2008-12-03 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: fixed handling of tabs and spaces 2008-12-02 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leaks: Various improvements in "simplifycode" 2008-12-02 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Further improvements of "simplifycode" 2008-12-02 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Changed a comment 2008-12-02 Daniel Marjamäki * cppcheck.cbproj: updated the borland project file 2008-12-01 Reijo Tomperi * CheckMemoryLeak.cpp, CheckMemoryLeak.h: Minor improvement to code comments. 2008-12-01 Nicolas Le Cam * CheckOther.cpp: Warning If minor optimizations 2008-12-01 Reijo Tomperi * CheckOther.h: Patch: [ 2371330 ] Removed CheckOther::WarningDangerousFunctions() declaration 2008-12-01 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Refactoring and improvements of simplifycode etc 2008-12-01 Daniel Marjamäki * testsuite.cpp, testsuite.h: testing: minor refactoring so better error messages are shown 2008-12-01 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory leaks: When "--debug" is given the checking will be different to highlight problems in "getcode" and "simplifycode" 2008-11-30 Daniel Marjamäki * cppcheck.cpp: added comment about "--debug" flag. This is used for various debugging purposes so the behaviour of c++check is undefined if it's given 2008-11-30 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: The "do" must be handled differently. Made a first fix for it 2008-11-30 Reijo Tomperi * cppcheck.cpp, man/cppcheck.1.xml: Verbose: Added line change to help text printing and updated man page 2008-11-30 Daniel Marjamäki * cppcheck.cpp, cppcheck.h, settings.cpp, settings.h: Verbose error message output through '--verbose' 2008-11-29 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Fixed the test 'CheckMemoryLeak::func8' 2008-11-29 Daniel Marjamäki * testmemleak.cpp: Test Memory leak: Added a test case, currently a false positive is generated 2008-11-29 Daniel Marjamäki * cppcheck.cpp: cppcheck: Write version number etc 2008-11-28 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Moved the class member checking to the "--all" 2008-11-27 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckBufferOverrun.h, cppcheck.cpp, testbufferoverrun.cpp: Array index : No recursive checking unless the "--all" has been given 2008-11-27 Reijo Tomperi * FileLister.cpp, cppcheck.cpp, man/cppcheck.1.xml: Recursive file listing, .cxx added to file list 2008-11-27 Reijo Tomperi * CheckMemoryLeak.cpp: Removed debug output 2008-11-27 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leaks: Reverted the sensitive checking in r536. And improved the simplifycode function. 2008-11-26 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leaks: Made the checking a lot more sensitive 2008-11-26 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h: CheckMemoryLeak: Refactoring. Use TOKEN::isStandardType instead of rewriting its functionality 2008-11-26 Daniel Marjamäki * token.cpp, token.h: token: refactoring the 'isStandardType' a little 2008-11-26 Daniel Marjamäki * testmemleak.cpp: testmemleak: Added 'func7' test case. Not working yet 2008-11-25 Reijo Tomperi * cppcheck.cpp, cppcheck.h: Feature added: CppCheck class has now function addFile(string,string) which allows checking of unreal files, by giving just filename and file content as a parameter. 2008-11-25 Daniel Marjamäki * cppcheck.cpp, testbufferoverrun.cpp, testcharvar.cpp, testmemleak.cpp, tokenize.cpp, tokenize.h: Refactoring: Removed _settings member from the Tokenizer 2008-11-25 Daniel Marjamäki * cppcheck.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testfunctionusage.cpp, testincompletestatement.cpp, testmemleak.cpp, testsimplifytokens.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: Tokenizer - renaming functions, moved the 'tokenizeCode' to the private section 2008-11-25 Daniel Marjamäki * CheckFunctionUsage.cpp, tokenize.cpp: TODO: added a todo to add an error message. and removed an "invalid" todo 2008-11-25 Daniel Marjamäki * CheckFunctionUsage.cpp: Function usage: Report which file the missing function is implemented in 2008-11-24 Reijo Tomperi * cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h: Refactoring: Added missing license texts and some comments 2008-11-24 Reijo Tomperi * cppcheck.cbp: Refactoring: Updated project file for Code::Blocks 2008-11-24 Reijo Tomperi * Makefile, cppcheck.cpp, cppcheck.h, cppcheckexecutor.cpp, cppcheckexecutor.h, errorlogger.h, main.cpp, testsuite.cpp, testsuite.h: Refactoring: CppCheckExecutor class added 2008-11-24 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckFunctionUsage.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, testsimplifytokens.cpp, testtokenize.cpp, token.cpp, token.h, tokenize.cpp: TOKEN: Refactoring the 'str' member variable 2008-11-24 Daniel Marjamäki * FileLister.cpp: Visual C++: Updated the FileLister (applied patch FileLister_ReworkRecursiveAddFiles submitted by kush_eplus) 2008-11-24 Reijo Tomperi * token.cpp: bug fix, didn't compile on Linux (3 utf characters on top of file again) 2008-11-24 Daniel Marjamäki * cppcheck.vcproj: Visual C++: Updated the project file * removed 'commoncheck' * added 'checkfunctionusage' * added 'token' 2008-11-24 Daniel Marjamäki * cppcheck.cbproj, token.cpp: Borland C++: Minor updates so cppcheck compiles with Borland C++ 2008-11-23 Reijo Tomperi * cppcheck.cpp, cppcheck.h, main.cpp, settings.cpp, settings.h: Refactoring: Started making CppCheck class more generally usable (e.g. as a part of IDE). 2008-11-23 Reijo Tomperi * Makefile: Refactoring: Updated makefile to be more up-to-date after big refactoring changes. 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp: Function usage: Better handling of '!foo()' 2008-11-23 Reijo Tomperi * cppcheck.cbp, testrunner.cbp: Project files: Changed both targets to same file, using custom makefile 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp: Function usage: Minor update in the pattern for using function 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp, testfunctionusage.cpp: Function Usage: Handling '.. else foo()' 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp, testfunctionusage.cpp: Function usage: Handling callbacks better: 'void (*f)() = cond ? foo : NULL' 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp, testfunctionusage.cpp: Function usage: handling 'return foo();' better 2008-11-23 Daniel Marjamäki * cppcheck.cbp: codeblocks: Added project file for cppcheck 2008-11-23 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: IsName() and IsNumber() are no longer static and they don't take a parameter. 2008-11-23 Daniel Marjamäki * testfunctionusage.cpp: Added test file for function usage 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp, Makefile, testrunner.cbp: Function Usage: Make sure it's detected that func is used in code such as 'if ( func() ) { ..' 2008-11-23 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckFunctionUsage.cpp, CheckFunctionUsage.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, FileLister.h, cppcheck.cpp, cppcheck.h, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: Renamed some member variables: variable -> _variable 2008-11-23 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckFunctionUsage.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, token.cpp, token.h, tokenize.cpp: Refactoring: at() changed to tokAt() and getstr() changed to strAt() 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp: Function usage: Fixes in the check 2008-11-23 Daniel Marjamäki * CheckFunctionUsage.cpp, CheckFunctionUsage.h, cppcheck.cpp, cppcheck.h, testbufferoverrun.cpp, testcharvar.cpp, testmemleak.cpp, testrunner.cbp, testsuite.cpp, testtokenize.cpp, tokenize.cpp, tokenize.h: Refactoring: The Tokenizer::FillFunctionList has no use of its parameter. Enabled the CheckFunctionUsage 2008-11-22 Reijo Tomperi * testtokenize.cpp: Bug fix: Didn't compile on Debian, missing #include 2008-11-22 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckFunctionUsage.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, Makefile, token.cpp, token.h, tokenize.cpp, tokenize.h: Refactoring: token.* files added, Some functions from Tokenizer moved under TOKEN. Renamed few functions, like gettok() -> at(), combineWithNext() and deleteNext() are also new names for old functions. Usage was gettok( tok, 2 ), but now it is tok->at( 2 ). 2008-11-22 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Added checking for 'kcalloc' 2008-11-22 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: The 'realloc' shouldn't be treated exactly like 'malloc' 2008-11-22 Daniel Marjamäki * CheckClass.cpp, CheckClass.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: increased constness of member variable _tokenizer in the Check* classes 2008-11-22 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckBufferOverrun.h, tokenize.cpp, tokenize.h: CheckBufferOverrun: increased constness of _tokenizer member 2008-11-22 Daniel Marjamäki * cppcheck.cpp, cppcheck.h, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testrunner.cbp, testsimplifytokens.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Check Function Usage: Removed much of the old checking and made some refactoring 2008-11-22 Daniel Marjamäki * CheckFunctionUsage.cpp, CheckFunctionUsage.h, Makefile: Function Usage: Added a new class for checking function usage 2008-11-22 Daniel Marjamäki * CheckMemoryLeak.cpp, testtokenize.cpp, tokenize.cpp, tokenize.h: tokenizer: simplifyConditions tries to simplify conditions.. those that are always true to '( true )' and those that are always false to '( false )' 2008-11-22 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Handle conditions that are always true / false 2008-11-22 Daniel Marjamäki * testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp: tokenizer: Added DeallocateTokens to the destructor so it's not necessary to cleanup manually 2008-11-22 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp, tokenize.h: tokenizer: Added functions "alwaysTrue" and "alwaysFalse" to check if a condition is always true / false 2008-11-21 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, Makefile, cppcheck.cpp, preprocessor.cpp, testbufferoverrun.cpp, testcharvar.cpp, testmemleak.cpp, tokenize.cpp, tokenize.h: Refactoring: CommonCheck.* files are removed. Rest of the global functions from there were moved to Tokenizer class 2008-11-21 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h: Memory leak: Added checking for 'fopen' and 'popen' 2008-11-21 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Better handling when calling functions 2008-11-21 Daniel Marjamäki * cppcheck.cpp: unsigned division and char variable usage - moved checks to "--style" 2008-11-20 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, CommonCheck.cpp, CommonCheck.h, cppcheck.cpp, cppcheck.h, errorlogger.h, preprocessor.cpp, preprocessor.h, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testpreprocessor.cpp, testrunner.cpp, testsimplifytokens.cpp, testsuite.cpp, testsuite.h, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: Errors are no longer logged via global functions to a global stream. Instead callback function is used via interface. ErrorLogger interface was added and taken into use. 2008-11-20 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, tokenize.cpp, tokenize.h: Refactoring: Some global functions moved to Tokenizer class 2008-11-20 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp, tokenize.h: cleanup 2008-11-20 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp, tokenize.h: Function list: Remove functions with duplicate names to prevent false positives 2008-11-19 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Minor update to make the checking stronger 2008-11-19 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Readded some checks that were removed in r481 2008-11-19 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Moved false positive to "--all" upon some special case conditions (bug 2313129) 2008-11-18 Daniel Marjamäki * CheckBufferOverrun.cpp: Buffer overrun: Fixed a segmentation fault 2008-11-18 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: limit the max call depth to 2 2008-11-17 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Minor fix to prevent hang 2008-11-17 Daniel Marjamäki * cppcheck.cpp: minor update to startup message 2008-11-17 Daniel Marjamäki * preprocessor.cpp: preprocessor: Better warning when illegal character found 2008-11-17 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: moved simplifyTokens rule to '--all' 2008-11-17 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Better handling of 'if (0 != p)' 2008-11-16 Daniel Marjamäki * CheckBufferOverrun.cpp, testbufferoverrun.cpp: Array index overrun: Improved the checking of class variables 2008-11-16 Daniel Marjamäki * testmemleak.cpp: testmemleak: Removed old TODO 2008-11-16 Reijo Tomperi * CheckHeaders.cpp, CheckOther.cpp, tokenize.cpp, tokenize.h: Refactoring: tokens() changed to const and to return const pointer. 2008-11-16 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, testsimplifytokens.cpp, testtokenize.cpp, tokenize.cpp, tokenize.h: Refactoring: Global variable tokenes is no more. 2008-11-16 Reijo Tomperi * CheckMemoryLeak.cpp, CheckMemoryLeak.h: Refactoring: static variable in CheckMemoryLeak is now a private member of the class. 2008-11-16 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, cppcheck.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testrunner.cpp, testunusedprivfunc.cpp, tokenize.cpp, tokenize.h: Few static variables are now private members. ShowAll etc. global variables are now members of Settings class and given as a parameter to the classes that need them. 2008-11-16 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory leak: Mismatching allocation and deallocation in subfunction 2008-11-16 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Added a simple test case 2008-11-16 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory leak: reverted most of change 461. 2008-11-16 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Added test case that failed. And fixed it. 2008-11-15 Reijo Tomperi * tokenize.cpp: Bug fix: Missing include from previous commit, didn't compile on Debian. 2008-11-15 Reijo Tomperi * CheckBufferOverrun.cpp, CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h, cppcheck.cpp, cppcheck.h, testbufferoverrun.cpp, testcharvar.cpp, testmemleak.cpp, tokenize.cpp, tokenize.h: Refactoring: Global/Static variables, FunctionList, GlobalFunctions and UsedGlobalFunctions are now private members of Tokenizer class. Class GlobalFunction is now private subclass of Tokenizer. Global functions CheckGlobalFunctionUsage, FillFunctionList and GetFunctionTokenByName are now member functions of Tokenizer. 2008-11-15 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory Leak: Handling Linux lists better => Detect more leaks 2008-11-15 Daniel Marjamäki * testrunner.cbp: codeblocks: Added project file 'testrunner.cbp' 2008-11-15 Daniel Marjamäki * testmemleak.cpp, testsimplifytokens.cpp, tokenize.cpp: SimplifyTokens: Replace 'sizeof(*abc)' with '100'. This prevents false positives in checks 2008-11-15 Daniel Marjamäki * Makefile, testsimplifytokens.cpp, tokenize.cpp: Simplify Tokens: Replace NULL with 0 and '(char *)0' with '0' 2008-11-15 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized Member Variables: Fixed bug 'false positive on multi constructors' 2008-11-15 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, testconstructors.cpp: cleanup files 2008-11-15 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, testconstructors.cpp: Uninitialized member variable: Added unit test that currently fails for bug 2270353 - Uninitialized variable false positive on multi constructors 2008-11-15 Daniel Marjamäki * cppcheck.vcproj, testrunner.sln, testrunner.vcproj: Visual C++ Express 2008: Added project 'testrunner' and updated the project 'cppcheck' 2008-11-15 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Borland C++: Added files "cppcheck" and "settings" to the projects 2008-11-15 Daniel Marjamäki * man/cppcheck.1.xml: Applied patch "errors_only_man" that adds description for "--errorsonly" to the man page. This was submitted by kimmov in bug 2277848 2008-11-14 Reijo Tomperi * Makefile, cppcheck.cpp, cppcheck.h, main.cpp, settings.cpp, settings.h, testrunner.cpp: Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-13 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, main.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testrunner.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: Global variable Files is no more. Use tokenizer->getFiles() to get a pointer to it. 2008-11-13 Reijo Tomperi * Makefile: Make: New improved makefile 2008-11-13 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized variable: chained assignments 2008-11-13 Daniel Marjamäki * main.cpp: Added command line option "--errorsonly" 2008-11-12 Reijo Tomperi * CheckBufferOverrun.cpp, main.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: tokens_back and TypeSize are no longer global variables 2008-11-12 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, main.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.h: Refactoring: Tokenizer object given as a parameter to most of the classes 2008-11-11 Daniel Marjamäki * CheckClass.cpp, testunusedprivfunc.cpp: Unused private function: return pointer to private function 2008-11-11 Daniel Marjamäki * testmemleak.cpp: Memory leak: Added TODO test. Mismatching allocation and deallocation in subfunction 2008-11-11 Daniel Marjamäki * testunusedprivfunc.cpp: unused private function: Added test1 (assert that error message is given for simple case) 2008-11-11 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Fixed one more unit test 2008-11-11 Daniel Marjamäki * CheckOther.cpp: Refactoring: Don't use the TOKEN::str directly 2008-11-11 Daniel Marjamäki * CheckBufferOverrun.cpp: Refactoring: Use 'Match' instead of direct comparisons 2008-11-11 Reijo Tomperi * CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, Makefile, main.cpp, preprocessor.cpp, preprocessor.h, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testpreprocessor.cpp, testunusedprivfunc.cpp, testunusedvar.cpp: Refactoring: Following new classes were created: CheckBufferOverrunClass CheckClass CheckHeaders CheckMemoryLeakClass CheckOther Preprocessor 2008-11-10 Daniel Marjamäki * testunusedvar.cpp: unused struct member: Added checks 2008-11-10 Daniel Marjamäki * testmemleak.cpp: testmemleak: Added todo 'forwhile7' 2008-11-10 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Handle "goto" a little differently 2008-11-10 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: cleanup 2008-11-10 Daniel Marjamäki * todo.txt: todo: added memory leak examples 2008-11-10 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leaks: Added tests and handling for 'throw' and linux lists 2008-11-10 Daniel Marjamäki * todo.txt: todo: added 'check operator=' 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory leak: Minor updates in the notvar function 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory Leak: Improved checking of subfunctions. Simplify their code. 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Ensure that simple memory leak is detected 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h, testmemleak.cpp: Memory leak: Began work for parsing into subfunctions. 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: Removed false positives. 'use ; use ;' is not always the same as 'use ;' 2008-11-09 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp, testmemleak.cpp: Memory Leak: Stronger checking. Ignore 'if use ;' and 'if dealloc;'. A leak could occur if it's not executed. 2008-11-09 Reijo Tomperi * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, CommonCheck.cpp, main.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testincompletestatement.cpp, testmemleak.cpp, testtokenize.cpp, testunusedprivfunc.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Refactoring: Tokenizer class added, functions still mostly static and using globals 2008-11-08 Daniel Marjamäki * testsuite.h: GPL: Added comment in testsuite.h 2008-11-08 Daniel Marjamäki * Makefile, testunusedprivfunc.cpp: Unused private function: Added test 2008-11-08 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory leak: remove the dealloc in "if dealloc ;" if it's not followed by an "else". This makes the checking stronger. 2008-11-07 Reijo Tomperi * tokenize.h: - Fixed compiling on Debian with gcc ( missing includes and std:: ) - Removed c-style include for Borland compiler. 2008-11-07 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory Leak: Added checking 2008-11-07 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp, tokenize.h: cleanup the files 2008-11-07 Daniel Marjamäki * tokenize.h: Visual C++: Fixed compiler error for "strdup" 2008-11-07 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp, testrunner.cbproj: Memory Leaks: Convert "do-while" blocks to "while" blocks to make the handling for that the same. 2008-11-07 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h, testmemleak.cpp: Memory Leaks: Improved the checking of loops. 2008-11-07 Daniel Marjamäki * tokenize.h: Borland C++: Fixed compiler error (couldn't find the function 'free') 2008-11-06 Reijo Tomperi * FileLister.cpp, FileLister.h, testtokenize.cpp: FileLister.* and testtokenize.cpp, changed encoding to utf-8 2008-11-06 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory Leak: Fixed bug with strdup in loop. Bug 2225370 2008-11-06 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h, tokenize.cpp, tokenize.h: Refactoring TOKEN: Changed from struct to class 2008-11-06 Daniel Marjamäki * CheckBufferOverrun.cpp, Makefile, testbufferoverrun.cpp, testincompletestatement.cpp, tokenize.cpp: cleanup of UTF-8. Updated the Makefile 2008-11-06 Daniel Marjamäki * CheckOther.cpp: CheckAlpha: Expanded checking to include 'isupper' and 'islower' 2008-11-06 Daniel Marjamäki * CheckClass.cpp: CheckClass: Applied patch 2220196 2008-11-05 Daniel Marjamäki * todo.txt: todo: A few short updated notes 2008-11-05 Daniel Marjamäki * tests.cpp: tests: Removed this deprecated file 2008-11-05 Daniel Marjamäki * testrunner.cbproj: C++ Builder: Updated the testrunner project 2008-11-05 Daniel Marjamäki * CheckBufferOverrun.cpp, testbufferoverrun.cpp: Buffer overrun: Fixed a false positive 2008-11-05 Daniel Marjamäki * testother.cpp: testother: Removed this test. Individual tests will be created instead 2008-11-05 Daniel Marjamäki * testincompletestatement.cpp: testincompletestatement: created new test 2008-11-05 Daniel Marjamäki * testbufferoverrun.cpp: TestBufferOverrun: Added a test case that shouldn't generate error. Get address beyond array. 2008-11-05 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: Tokenizer: Skip inline assembly (Bug 2220727) 2008-11-05 Daniel Marjamäki * CheckClass.cpp: CheckClass: Removed false positive "unused private function" for typedef (Bug 2220326) 2008-11-04 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: Tokenize: Changed the array CurrentToken to a std::string 2008-11-04 Daniel Marjamäki * testrunner.cbproj: Borland C++: Added 'TestTokenize' to the testrunner project 2008-11-03 Daniel Marjamäki * testpreprocessor.cpp: testpreprocessor: updated the testing for multiline preprocessor statements 2008-11-03 Daniel Marjamäki * preprocessor.cpp: preprocessor: fixed invalid character 2008-11-03 Daniel Marjamäki * cppcheck.cbproj, testrunner.cbproj: Updated the Borland C++ project files 2008-11-03 Daniel Marjamäki * cppcheck.sln, cppcheck.vcproj: Added Visual C++ 2008 Express solution and project files 2008-11-03 Daniel Marjamäki * preprocessor.cpp: preprocessor: simple optimizations 2008-11-03 Daniel Marjamäki * FileLister.cpp, FileLister.h, Makefile, main.cpp: File Listing: New handling of listing files. (Bug 2194949) 2008-11-03 Daniel Marjamäki * testpreprocessor.cpp: TestPreprocessor: Minor update to ensure that extra spaces are filtered out 2008-11-03 Daniel Marjamäki * testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testother.cpp, testunusedvar.cpp: Testing: DeallocateTokens after each test 2008-11-03 Daniel Marjamäki * testtokenize.cpp, tokenize.cpp: Tokenizer: Handle '\' in preprocessor lines 2008-11-02 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: handling the '\' in preprocessor code 2008-11-02 Daniel Marjamäki * CheckOther.cpp, testcharvar.cpp: TestCharVar: Fixed some false positives 2008-11-02 Daniel Marjamäki * CheckClass.cpp: Class Checking: Fixed AV in FindClassFunction 2008-11-02 Daniel Marjamäki * testmemleak.cpp, tokenize.cpp: memleak: fixed false positives for assignment in return statement (bug 2205568) 2008-11-01 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized Member Variables: Fixed problems with different classes with same name (Bug 2208157) 2008-11-01 Daniel Marjamäki * man/cppcheck.1.xml: man: Added xml for generating man page 2008-11-01 Daniel Marjamäki * Makefile: Makefile: Applied changes suggested by Reijo 2008-11-01 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized member variables: Removed false positives when using operator= (Bug 2190376) 2008-11-01 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Uninitialized Member Variables: Check statements that begin after for example "if (..)" or "else" (Bug 2190290) 2008-11-01 Daniel Marjamäki * CheckClass.cpp, testconstructors.cpp: Unitialized Members Variables: Fixed false positives when using "this" (Bug 2190300) 2008-10-31 Daniel Marjamäki * testpreprocessor.cpp: testpreprocessor: changed the syntax 2008-10-31 Daniel Marjamäki * preprocessor.cpp: preprocessor: Minor typo fix 2008-10-31 Daniel Marjamäki * main.cpp, preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: Preprocessor: Added elif handling. Check for invalid characters 2008-10-31 Daniel Marjamäki * preprocessor.cpp, tokenize.cpp: fixed compilation warnings generated by visual c++. Nothing serious 2008-10-30 Daniel Marjamäki * main.cpp, preprocessor.cpp, testpreprocessor.cpp, tokenize.cpp, tokenize.h: preprocessor: Use the new preprocessor in cppcheck 2008-10-30 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: Handling "#if .." better 2008-10-30 Daniel Marjamäki * main.cpp, preprocessor.cpp, testpreprocessor.cpp: preprocessor: Minor cleanups and fixes 2008-10-30 Daniel Marjamäki * main.cpp: Check that a supported compiler is used to when compiling c++check 2008-10-30 Daniel Marjamäki * testpreprocessor.cpp: preprocessor: Added test if_cond1. It fails currently 2008-10-29 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: Added tests test3, test4, test5 and if1 2008-10-29 Daniel Marjamäki * preprocessor.cpp: preprocessor: Fixed tests 2008-10-28 Daniel Marjamäki * testpreprocessor.cpp: preprocessor: updated the tests. They are now failing. 2008-10-28 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: cleanup 2008-10-27 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: refactoring the preprocessor and added TestPreprocessor::if0 2008-10-27 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: preprocessor: Refactoring 2008-10-27 Daniel Marjamäki * testrunner.cbproj: C++ Builder: Added the preprocessor files to testrunner.cbproj 2008-10-26 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: Remove comments 2008-10-26 Daniel Marjamäki * preprocessor.cpp, testpreprocessor.cpp: preprocessor: refactoring 2008-10-26 Daniel Marjamäki * preprocessor.cpp: preprocessor: quick fix to make the TestPreprocessor::test1 work 2008-10-26 Daniel Marjamäki * preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: preprocessor: Created a simple test. But it fails currently. 2008-10-26 Daniel Marjamäki * testrunner.cpp, testsuite.cpp, testsuite.h: Testing: Only run tests in a specified class 2008-10-26 Daniel Marjamäki * Makefile, preprocessor.cpp, preprocessor.h, testpreprocessor.cpp: preprocessor: Added new preprocessor. Only used in the tests yet. 2008-10-26 Daniel Marjamäki * COPYING, CheckBufferOverrun.cpp, CheckBufferOverrun.h, CheckClass.cpp, CheckClass.h, CheckHeaders.cpp, CheckHeaders.h, CheckMemoryLeak.cpp, CheckMemoryLeak.h, CheckOther.cpp, CheckOther.h, CommonCheck.cpp, CommonCheck.h, main.cpp, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testother.cpp, testrunner.cpp, testsuite.cpp, testunusedvar.cpp, tokenize.cpp, tokenize.h: Licensing: Using the GPL 3 license 2008-10-25 Daniel Marjamäki * CommonCheck.cpp, main.cpp: Usage of Global functions: Only checked if "--all" is given. Show progress. 2008-10-25 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Reverted [352] it's not a good fix 2008-10-25 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: CheckMemoryLeak: Fixed bug 2190219 - False positive, Mismatching allocation and deallocation 2008-10-23 Daniel Marjamäki * CheckOther.cpp, Makefile, testother.cpp: CheckIncompleteStatement: Fixed false positive generated by CheckIncompleteStatement (bug 2187837) 2008-10-21 Daniel Marjamäki * CheckClass.cpp: CheckClass: Minor fix to make it compile in Visual c++ 2008-10-19 Daniel Marjamäki * CheckClass.cpp: CheckConstructors: Handle recursion better. Don't hang. 2008-10-19 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory Leak: Better checking of mismatching alloc and dealloc for gtk 2008-10-19 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: Memory Leak: Fixed false positive 2008-10-19 Daniel Marjamäki * tokenize.cpp: tokenize: Fixed possible endless loop problem when handling typedefs 2008-10-18 Daniel Marjamäki * CheckMemoryLeak.cpp: Memory Leak: Better checking of memory leaks in gtk applications 2008-10-16 Daniel Marjamäki * Makefile, testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testsuite.cpp, testsuite.h, testunusedvar.cpp: testing: Various fixes to make the tests compile without warnings/errors 2008-10-16 Daniel Marjamäki * CheckMemoryLeak.cpp: MemoryLeak: Minor fix to reduce false positives 2008-10-15 Daniel Marjamäki * CheckMemoryLeak.cpp: MemoryLeak: minor updates 2008-10-15 Daniel Marjamäki * testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testsuite.h: Testing: Added macro 'REGISTER_TEST' 2008-10-13 Daniel Marjamäki * testbufferoverrun.cpp, testcharvar.cpp, testconstructors.cpp, testdivision.cpp, testmemleak.cpp, testrunner.cbproj, testrunner.cpp, testsuite.cpp, testsuite.h: Testing: Updated the testing to the new test framework 2008-10-12 Daniel Marjamäki * MiniCppUnit.cpp, MiniCppUnit.h, TestsRunner.cpp: testing: Removed MiniCppUnit 2008-10-12 Daniel Marjamäki * testrunner.cpp, testsuite.cpp, testsuite.h: testing: Added a new unit testing framework 2008-10-08 Daniel Marjamäki * testmemleak.cpp: testmemleak: preparing to add checks of function calls 2008-10-06 Daniel Marjamäki * CheckOther.cpp, testdivision.cpp: Unsigned division: Checking if negative constant is used 2008-10-06 Daniel Marjamäki * testdivision.cpp: TestDivision: Added two tests of unsigned division when negative constant is used. 2008-10-04 Daniel Marjamäki * CheckOther.cpp, main.cpp, testdivision.cpp: CheckUnsignedDivision: Made it more accurate and moved it to the standard checks 2008-09-29 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Removed false positives about not deleting class instances 2008-09-24 Daniel Marjamäki * main.cpp: cppcheck: removed checking of implementation in header. temporarily commented out the check for variable scope. These changes were made so that fewer warning messages will be produced when running c++check 2008-09-24 Daniel Marjamäki * Makefile, testunusedvar.cpp: testunusedvar: Added simple testing for unused variables 2008-09-23 Daniel Marjamäki * CheckOther.cpp: CheckOther: Minor updates. Removed false positives for CheckScope 2008-09-20 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp, tokenize.cpp: Incomplete statement: Check for statements that begin with a constant 2008-09-16 Daniel Marjamäki * CheckOther.cpp, testcharvar.cpp: CheckOther: Minor updates in checking of signed char variables and unsigned division 2008-09-15 Daniel Marjamäki * CheckOther.cpp, testdivision.cpp: CheckUnsignedDivision: Refactoring 2008-09-11 Daniel Marjamäki * tokenize.cpp: tokenize: Fixed a bug in the tokenizer 2008-09-11 Daniel Marjamäki * main.cpp: visual c++: added "--recursive" support 2008-09-11 Daniel Marjamäki * CheckClass.cpp, CheckMemoryLeak.cpp, CommonCheck.cpp, main.cpp, tokenize.cpp: compilation: Various cross compilation fixes. The "--recursive" option doesn't work on VC now. 2008-09-10 Daniel Marjamäki * CommonCheck.cpp, MiniCppUnit.cpp, main.cpp: compilation: hopefully the program should be compilable on VC now 2008-09-02 Daniel Marjamäki * CheckMemoryLeak.cpp: memleak: better handling of switch blocks 2008-09-01 Daniel Marjamäki * testmemleak.cpp: testmemleak: added checks for class members 2008-08-31 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: memleak: uncommented and fixed the handling of switch 2008-08-30 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: memleak: commented out the switch handling temporarily. it causes segmentation faults when checking the linux kernel. 2008-08-30 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckOther.cpp, CommonCheck.cpp, main.cpp, tokenize.cpp: made cppcheck compile with g++ 4.3 2008-08-30 Daniel Marjamäki * main.cpp, tokenize.cpp: djgpp: Fixed compiler warnings/errors when compiling with DJGPP 2008-08-28 Daniel Marjamäki * testdivision.cpp, tokenize.cpp: tokenize: handle simple typedefs 2008-08-28 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, Makefile, main.cpp, testcharvar.cpp, testrunner.cbproj: char variable usage: Added checking 2008-08-27 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: testmemleak: improved the checking of loops 2008-08-27 Daniel Marjamäki * CheckOther.cpp, testdivision.cpp: testdivision: changed the error message. hopefully it is clearer 2008-08-27 Daniel Marjamäki * testrunner.cbproj: testrunner.cbproj: added 'testbufferoverrun', 'testconstructors' and 'testdivision' 2008-08-25 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: CheckMemoryLeak: Improved the reducing of "if.." 2008-08-24 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak.cpp: testmemleak: replace switch blocks with if blocks 2008-08-24 Daniel Marjamäki * Makefile, testconstructors.cpp: testing: added 'testconstructors' 2008-08-23 Daniel Marjamäki * testdivision.cpp: test: Added 'testdivision.cpp' 2008-08-23 Daniel Marjamäki * Makefile, testmemleak.cpp, tests.cpp: test: Added 'testdivision' 2008-08-23 Daniel Marjamäki * testbufferoverrun.cpp, tests.cpp: test: Minor polishing 2008-08-23 Daniel Marjamäki * testbufferoverrun.cpp: test: Added the last buffer overrun tests 2008-08-23 Daniel Marjamäki * Makefile, testbufferoverrun.cpp, tests.cpp: testing: Added 'testbufferoverrun' 2008-08-23 Daniel Marjamäki * MiniCppUnit.cpp, MiniCppUnit.h: minicppunit: removed compiler warnings about characters 2008-08-23 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Updated the handling of 'case' and 'default' a little 2008-08-22 Daniel Marjamäki * test_cppcheck.cbproj, testrunner.cbproj: testing: created new testproject for codegear that uses the minicppunit framework 2008-08-22 Daniel Marjamäki * CheckMemoryLeak.cpp, MiniCppUnit.cpp, MiniCppUnit.h, testmemleak.cpp, tests.cpp: testing: Moved tests from tests.cpp to testmemleak.cpp (forwhile, switch) 2008-08-21 Daniel Marjamäki * CheckMemoryLeak.cpp, MiniCppUnit.cpp, testmemleak.cpp, tests.cpp: testing: Added tests TestMemoryleak::ifelse 2008-08-21 Daniel Marjamäki * Makefile, MiniCppUnit.cpp, MiniCppUnit.h, TestsRunner.cpp, testmemleak.cpp: testing: Started using the MiniCppUnit framework 2008-08-20 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp: refactoring: made compilation work in codegear 2008-08-20 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Fixed a bug: Don't erase "{ }", replace with ";" 2008-08-19 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Added testcase (false positive from linux kernel) 2008-08-19 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp, tests.cpp: CheckMemoryLeak: Small improvements 2008-08-18 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: By default skip class memory leaks because there may be various types of garbage collectors 2008-08-17 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Minor updates 2008-08-17 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Made a test case work 2008-08-16 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Simplified and updated the code reducers 2008-08-16 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Refactoring further 2008-08-16 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Added simple checking 2008-08-16 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Got rid of false positives 2008-08-16 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h: CheckMemoryLeak: Refactoring the check 2008-08-15 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Made the checking a lot simpler when "--all" is not given. This should give few false positives 2008-08-15 Daniel Marjamäki * tests.cpp: tests: Added memory leak test that gives a false positive 2008-08-15 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Added testcase and made it work (assume that foo.add(p) deallocates p. Todo to trace into foo.add) 2008-08-14 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: better handling of switch blocks 2008-08-13 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Handle one more test case (return pointer) 2008-08-13 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Calling unknown function => assume that it's deallocating variable 2008-08-12 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: memory leak: improved the checking. subfunctions are parsed. redundant conditions are skipped 2008-08-12 Daniel Marjamäki * CheckOther.cpp, tokenize.cpp: cleanup: removed spaces 2008-08-12 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: buffer overruns: added tests and improved the checking 2008-08-11 Daniel Marjamäki * tests.cpp: tests: cleanup and reordering 2008-08-11 Daniel Marjamäki * tests.cpp: tests: Refactoring 2008-08-09 Daniel Marjamäki * todo.txt: todo: added todo to simplify the token list further 2008-08-09 Daniel Marjamäki * tests.cpp: tests: minor updates of the tests 2008-08-09 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Improved the checking (handling loops) 2008-08-07 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: updated the checking so that all execution paths are tried 2008-08-07 Daniel Marjamäki * cppcheck.cbproj, test_cppcheck.cbproj: cg2007: Added CodeGear 2007 project files 2008-08-07 Daniel Marjamäki * CheckMemoryLeak.cpp: Refactoring: Renamed class allocfunc to AllocFunc 2008-08-07 Daniel Marjamäki * CommonCheck.cpp: CommonCheck: Refactoring. Renamed clGlobalFunction to GlobalFunction 2008-05-14 Daniel Marjamäki * tests.cpp: tests: updated the tests 2008-05-14 Daniel Marjamäki * CheckOther.cpp, CheckOther.h: CheckOther: Removed unused functions 2008-05-10 Daniel Marjamäki * tests.cpp: testing: Added test for mismatching allocation and deallocation 2008-05-10 Daniel Marjamäki * CheckBufferOverrun.cpp: CheckBufferOverrun: Refactoring and made the checking smarter 2008-05-10 Daniel Marjamäki * CheckBufferOverrun.cpp: CheckBufferOverrun: Fixed minor bug that resultet in false positives 2008-05-10 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Made the checking weaker to reduce false positives 2008-05-10 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Handling functions that allocate memory 2008-05-10 Daniel Marjamäki * CheckOther.cpp, tests.cpp: CheckStructMemberUsage: Added more cases 2008-05-09 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp, tests.cpp: CheckStructMemberUsage: Check for unused struct members 2008-05-05 Daniel Marjamäki * CommonCheck.cpp: CheckGlobalFunctionUsage: Optimised 2008-05-04 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Removed false positives 2008-05-03 Daniel Marjamäki * CheckOther.cpp, tests.cpp: CheckConstantFunctionParameters: Updated the check to handle all std::.. struct and class 2008-05-03 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp: Added check: passing constant function parameter by value instead of by reference/pointer 2008-05-03 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak.cpp: Minor improvements to avoid false positives 2008-04-18 Daniel Marjamäki * CheckClass.cpp: Checking memset/memcpy/memmove. Removed false positives 2008-04-16 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: A few tweaks to make it report less false positives against the linux kernel 2008-04-14 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Small fixes and updates 2008-04-14 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Bug fix so that checking stops when the variable goes out of scope 2008-04-14 Daniel Marjamäki * bugs_that_cppcheck_finds.txt: Removed 'bugs_that_cppcheck_finds'. It will be listed in the wiki instead 2008-04-12 Daniel Marjamäki * CheckClass.cpp, CheckMemoryLeak.cpp, tests.cpp: Minor updates. Added todo. Refactoring 2008-04-12 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: Improved the checking (tests.cpp:memleak_in_function:test16) 2008-04-12 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: CheckMemoryLeak: fixed bug that caused false positives 2008-04-12 Daniel Marjamäki * tests.cpp: Added testcase to look at later 2008-04-12 Daniel Marjamäki * CheckMemoryLeak.cpp, tokenize.cpp, tokenize.h: Checking for memory leaks. Changed the handling of comments about deleting 2008-04-11 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp, tokenize.cpp, tokenize.h: Make it possible to disable memory leak checking for a variable. Usable to avoid false positives 2008-04-11 Daniel Marjamäki * main.cpp: Added comments 2008-04-08 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Refactoring CheckMemoryLeak to detect more leaks 2008-04-06 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: CheckBufferOverrun: Removed a false positive 2008-04-06 Daniel Marjamäki * bugs_that_cppcheck_finds.txt, todo.txt: Minor updates in text files. 2008-04-06 Daniel Marjamäki * TestTok.cpp: TestTok: Deleted deprecated file 2008-04-06 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Added more allocation and deallocation functions 2008-04-06 Daniel Marjamäki * Makefile: Makefile: Removed Statements 2008-04-06 Daniel Marjamäki * Statements.cpp, Statements.h: Statements: Removed this bastard from cppcheck 2008-04-06 Daniel Marjamäki * main.cpp: Minor updates to [232] and [233]. Use __GNUC__ define instead of CYGWIN 2008-04-06 Daniel Marjamäki * main.cpp: Addon to [232] 2008-04-06 Daniel Marjamäki * CheckHeaders.cpp, CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h, main.cpp, tokenize.cpp: Fixing bug 1935006 - Compile problems on cygwin 2008-04-05 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Re-adding CheckMemoryLeak functionality. More work is still needed. 2008-04-04 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Further improvements of CheckMemoryLeak. Still not working as good as a few revisions ago. 2008-04-04 Daniel Marjamäki * bufferoverrun.txt: Removed old file 'bufferoverrun.txt' 2008-04-03 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Refactoring CheckMemoryLeak 2008-04-02 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckMemoryLeak.cpp, CommonCheck.cpp: Match: Added matching for [] 2008-04-02 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Rewriting CheckMemoryLeak (Just Started) 2008-04-01 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckOther.cpp, tests.cpp: Minor updates. Removed some false positives when checking variable scope 2008-03-29 Daniel Marjamäki * CheckOther.cpp, CommonCheck.cpp, Statements.cpp, tests.cpp: Fixed minor bugs 2008-03-29 Daniel Marjamäki * CommonCheck.cpp, CommonCheck.h, Statements.cpp, main.cpp, tests.cpp, tokenize.cpp: Added style checks to check for unused global functions 2008-03-28 Daniel Marjamäki * CheckClass.cpp, CommonCheck.cpp, CommonCheck.h, main.cpp, tests.cpp: Refactoring: Removed 'HasErrors'. Better usage of 'Match'. Hid the 'FunctionList' 2008-03-28 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, Statements.cpp, main.cpp, tests.cpp, tokenize.cpp, tokenize.h: Refactoring: Replaced deprecated "match" with the new "Match" 2008-03-27 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: CheckBufferOverrun: Improved checking of arrays declared like this: "type * var [ num ]" 2008-03-26 Daniel Marjamäki * CheckBufferOverrun.cpp: test cppcheck: All tests work 2008-03-25 Daniel Marjamäki * CheckBufferOverrun.cpp: Fixed bugs in 'CheckBufferOverrun.cpp' 2008-03-25 Daniel Marjamäki * CheckBufferOverrun.cpp: To compile with borland, 'algorithm' was needed 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: Refactoring of 'CheckBufferOverrun.cpp' 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp: Refactoring 'CheckBufferOverrun'. Added 'Match1'. 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp: Refactoring the 'CheckBufferOverrun' 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: Removed checking of 'dynamic data' it's impossible to determine if it's false or true positives without deeper analysis. 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp: Made the checking for buffer overruns more generic 2008-03-24 Daniel Marjamäki * CheckBufferOverrun.cpp, CommonCheck.cpp, CommonCheck.h: Combined 'findfunction' and 'FindFunction'. Updated "CheckBufferOverrun" (checking for-loops). 2008-03-23 Daniel Marjamäki * CheckBufferOverrun.cpp, CommonCheck.cpp, CommonCheck.h, tests.cpp: Buffer overrun in function parameter 2008-03-23 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, tokenize.cpp: Refactoring (Replace '->' with '.', use matching function when possible) 2008-03-23 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckHeaders.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, tests.cpp: Reverted 205:207 2008-03-23 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h: Refactoring 2008-03-23 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckHeaders.cpp, CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, tests.cpp: Refactoring: Use 'setindentlevel' 2008-03-22 Daniel Marjamäki * CheckBufferOverrun.cpp, CommonCheck.cpp, CommonCheck.h: Refactoring: Added helper function 'setindentlevel' 2008-03-22 Daniel Marjamäki * CheckBufferOverrun.cpp, CommonCheck.cpp, CommonCheck.h: Minor refactoring 2008-03-22 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckOther.cpp, tokenize.cpp, tokenize.h: In the checks, use const pointers 2008-03-21 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: Handling pointers in 'CheckBufferOverrun_StructVariable' 2008-03-21 Daniel Marjamäki * CheckBufferOverrun.cpp, tests.cpp: Check for buffer overruns for struct members (only numeric) 2008-03-21 Daniel Marjamäki * checknpp.bat: Deleted obsolete file 'checknpp.bat' 2008-03-21 Daniel Marjamäki * CheckOther.cpp, tests.cpp: 'CheckUnsignedDivision' -> more errors. 'CheckVariableScope' -> removed false errors. 2008-03-20 Daniel Marjamäki * CheckOther.cpp: Rewrote the checking for "unsigned division" => less false positives 2008-03-19 Daniel Marjamäki * tokenize.cpp: tokenize: Fixed two bugs * don't hang if we can't find the ending of a string. * don't divide by zero 2008-03-19 Daniel Marjamäki * CheckOther.cpp, Statements.cpp, main.cpp: Updates here and there to make it more accurate 2008-03-18 Daniel Marjamäki * CheckClass.cpp: Better checking of class declarations. 2008-03-18 Daniel Marjamäki * tests.cpp, tokenize.cpp: Updated tokenizer. To handle "#define f1(a,b) (a+b)" better 2008-03-17 Daniel Marjamäki * CheckOther.cpp, tests.cpp: Checking variable scope 2008-03-17 Daniel Marjamäki * todo.txt: Updated 'todo.txt' 2008-03-16 Daniel Marjamäki * CheckOther.cpp, main.cpp, tests.cpp: bug fixes for 'CheckVariableScope' 2008-03-16 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, CommonCheck.cpp, CommonCheck.h, tests.cpp, tokenize.cpp, tokenize.h: Added test 'CheckVariableScope'. Increased constness. 2008-03-16 Daniel Marjamäki * tests.cpp, todo.txt: added 'todo.txt' 2008-03-15 Daniel Marjamäki * checkproj.bat: Removed 'checkproj.bat' (Deprecated) 2008-02-22 Daniel Marjamäki * readme.txt: updated command syntax example 2008-02-22 Daniel Marjamäki * tests.cpp: allow duplicate error messages in tests 2008-02-22 Daniel Marjamäki * CheckOther.cpp, CommonCheck.cpp, CommonCheck.h, main.cpp: Removed false positives and also duplicate error messages. 2008-02-22 Daniel Marjamäki * CheckOther.cpp: comments 2008-02-22 Daniel Marjamäki * CheckClass.cpp: Removed false positives 2008-02-22 Daniel Marjamäki * main.cpp: sort the files before checking to make the results comparable 2008-02-21 Daniel Marjamäki * CheckBufferOverrun.cpp: Fixed bug (Dereferencing NULL) 2008-02-21 Daniel Marjamäki * CheckOther.cpp: removed false positives for CheckUnsignedDivision 2008-02-21 Daniel Marjamäki * main.cpp: recursive checking when compiling with gcc 2008-02-21 Daniel Marjamäki * main.cpp: recursive checking when compiled by borland c++ 2008-02-20 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp, tests.cpp, tokenize.cpp: CheckUnsignedDivision: Added check. Not very accurate yet. 2008-02-19 Daniel Marjamäki * CheckClass.cpp, tests.cpp: CheckClass: Improved constructor checking 2008-02-18 Daniel Marjamäki * Statements.cpp: Refactoring: Removed unneeded parameter PointerType 2008-02-18 Daniel Marjamäki * CheckClass.cpp, CheckHeaders.cpp, main.cpp, tokenize.cpp: Made it compilable by borland c++ 2008-02-18 Daniel Marjamäki * CheckClass.cpp, tests.cpp: ClassChecking: Only enable the 'no constructor' warning if '--style' is given 2008-02-18 Daniel Marjamäki * CheckClass.cpp, tests.cpp: Class Checking: No constructor 2008-02-17 Daniel Marjamäki * main.cpp, tests.cpp: checking multiple files 2008-02-17 Daniel Marjamäki * bugs_that_cppcheck_finds.txt: Added list of bugs that cppcheck find (incomplete) 2008-02-17 Daniel Marjamäki * CheckMemoryLeak.cpp, tests.cpp: Unit Testing: Checking for mismatching allocation / deallocation 2008-02-17 Daniel Marjamäki * Statements.cpp, tests.cpp: Unit Testing: Testing the statement list 2008-02-17 Daniel Marjamäki * Statements.cpp, Statements.h, internaltesting/testassign.cpp, internaltesting/testassign.out, internaltesting/testdecl.cpp, internaltesting/testdecl.out, internaltesting/testif.cpp, internaltesting/testif.out, internaltesting/testloop.cpp, internaltesting/testloop.out, internaltesting/testnew.cpp, internaltesting/testnew.out, internaltesting/testuse.cpp, internaltesting/testuse.out, tests.cpp: Unit Testing: Moved the 'internaltesting' 2008-02-17 Daniel Marjamäki * internaltesting.bat: Cleanup old testing 2008-02-17 Daniel Marjamäki * testdangerousfunc1/err.msg, testdangerousfunc1/testdangerousfunc1.cpp, testdelete1/err.msg, testdelete1/testdelete1.cpp, testh1/err.msg, testh1/testh1.cpp, testh1/testh1.h, testh2/emptyh.h, testh2/err.msg, testh2/testh2.cpp, testh2/testh2.h, testh3/err.msg, testh3/h1.h, testh3/h2.h, testh3/testh3.cpp, testh5/err.msg, testh5/testh5.cpp, testh5/testh5.h, testh6/err.msg, testh6/testh6.cpp, testh6/testh6.h, testmemset1/err.msg, testmemset1/testmemset1.cpp, teststdfunc1/err.msg, teststdfunc1/teststdfunc1.cpp: Cleanup old tests 2008-02-17 Daniel Marjamäki * testcond1/err.msg, testcond1/testcond1.cpp, testfunc2/err.msg, testfunc2/testfunc2.cpp, testfunc3/err.msg, testfunc3/testfunc3.cpp, testfunc4/err.msg, testfunc4/testfunc4.cpp, testfunc6/err.msg, testfunc6/testfunc6.cpp, testif1/err.msg, testif1/testif1.cpp, testif2/err.msg, testif2/testif2.cpp, testif3/err.msg, testif3/testif3.cpp, testif4/err.msg, testif4/testif4.cpp, testif5/err.msg, testif5/testif5.cpp, updateall.bat: Cleanup of old testcases 2008-02-17 Daniel Marjamäki * testmemleak1/err.msg, testmemleak1/testmemleak1.cpp, testmemleak2/err.msg, testmemleak2/testmemleak2.cpp, testmemleak3/err.msg, testmemleak3/testmemleak3.cpp, testmemleak4/err.msg, testmemleak4/testmemleak4.cpp, tests.cpp: Unit Testing: Moving memleak checks 2008-02-16 Daniel Marjamäki * CheckMemoryLeak.cpp, main.cpp, testmemcheck1/err.msg, testmemcheck1/testmemcheck1.cpp, testmemcheck2/err.msg, testmemcheck2/testmemcheck2.cpp, testmemcheck3/err.msg, testmemcheck3/testmemcheck3.cpp, testmemcheck4/err.msg, testmemcheck4/testmemcheck4.cpp, testmemcheck5/err.msg, testmemcheck5/testmemcheck5.cpp, tests.cpp: Unit Testing: Moved 'testmemcheck' 2008-02-16 Daniel Marjamäki * testUninitVar1/err.msg, testUninitVar1/testUninitVar1.cpp, tests.cpp: Unit Testing: Moved 'testUninitVar1' 2008-02-16 Daniel Marjamäki * testclass1/err.msg, testclass1/testclass1.cpp, testclass10/err.msg, testclass10/testclass10.cpp, testclass12/err.msg, testclass12/testclass12.cpp, testclass13/err.msg, testclass13/testclass13.cpp, testclass14/err.msg, testclass14/testclass14.cpp, testclass2/err.msg, testclass2/testclass2.cpp, testclass4/err.msg, testclass4/testclass4.cpp, testclass4/testclass4.h, testclass7/err.msg, testclass7/testclass7.cpp, testclass8/err.msg, testclass8/testclass8.cpp, tests.cpp: Unit Testing: Moved constructor and operator= checks 2008-02-16 Daniel Marjamäki * cppcheck.bpf, cppcheck.bpr, tok.bpf, tok.bpr: Borland C++: Removed project files as gcc will from now on by the primary development environment 2008-02-16 Daniel Marjamäki * testall, tests.cpp: Testing: Removed old file 'testall'. Testing will be handled by 'tests.cpp'. 2008-02-16 Daniel Marjamäki * testbufferoverrun1/err.msg, testbufferoverrun1/testbufferoverrun1.cpp, testbufferoverrun2/err.msg, testbufferoverrun2/testbufferoverrun2.cpp, testbufferoverrun3/err.msg, testbufferoverrun3/testbufferoverrun3.cpp, testbufferoverrun4/err.msg, testbufferoverrun4/testbufferoverrun4.cpp, testbufferoverrun5/err.msg, testbufferoverrun5/testbufferoverrun5.cpp, testbufferoverrun6/err.msg, testbufferoverrun6/testbufferoverrun6.cpp, testbufferoverrun7/err.msg, testbufferoverrun7/testbufferoverrun7.cpp, tests.cpp: Unit Testing: All tests for buffer overruns were moved 2008-02-16 Daniel Marjamäki * CommonCheck.cpp, CommonCheck.h, Makefile, main.cpp, tests.cpp, tokenize.cpp, tokenize.h: Unit Testing: Start 2008-01-17 Daniel Marjamäki * CheckClass.cpp, testUninitVar1/err.msg, testUninitVar1/testUninitVar1.cpp, testclass13/err.msg: Better checking of uninitialized variables 2008-01-11 Daniel Marjamäki * checknpp.bat: check npp472 instead of npp41 2008-01-10 Daniel Marjamäki * CheckClass.cpp, cppcheck.bpr, main.cpp, testUninitVar1/err.msg, testUninitVar1/testUninitVar1.cpp, testbufferoverrun1/warn.msg, testbufferoverrun2/warn.msg, testbufferoverrun3/warn.msg, testbufferoverrun4/warn.msg, testbufferoverrun5/warn.msg, testbufferoverrun6/warn.msg, testclass1/warn.msg, testclass10/warn.msg, testclass12/warn.msg, testclass13/err.msg, testclass13/warn.msg, testclass2/warn.msg, testclass4/warn.msg, testclass7/warn.msg, testclass8/warn.msg, testcond1/warn.msg, testdangerousfunc1/warn.msg, testdelete1/warn.msg, testfunc2/warn.msg, testfunc3/warn.msg, testfunc4/warn.msg, testfunc6/warn.msg, testh1/warn.msg, testh2/warn.msg, testh3/warn.msg, testh5/warn.msg, testif1/warn.msg, testif2/warn.msg, testif3/warn.msg, testif4/warn.msg, testif5/warn.msg, testmemcheck1/warn.msg, testmemcheck2/warn.msg, testmemcheck3/warn.msg, testmemcheck4/warn.msg, testmemcheck5/warn.msg, testmemleak4/warn.msg, testmemset1/warn.msg, teststdfunc1/warn.msg, updateall.bat: check for uninitialized variables - less generic to increase accuracy 2008-01-05 Daniel Marjamäki * testall: Added 'testall' which is a simple bash-script that runs all tests 2007-10-29 Daniel Marjamäki * CheckClass.cpp, testclass14/err.msg, testclass14/testclass14.cpp: remove false positives (uninitialized class members) 2007-10-23 Daniel Marjamäki * CheckClass.cpp: CheckClass: Treating all "std::*" as initialized. 2007-10-23 Daniel Marjamäki * tokenize.cpp: tokenizer: removed some preprocessing => less false positives 2007-10-22 Daniel Marjamäki * main.cpp, testcasebreak/err.msg, testcasebreak/testcasebreak.cpp, testcasebreak/warn.msg, testfunc5/err.msg, testfunc5/testfunc5.cpp, testfunc5/warn.msg: disabled checks that generates false positives 2007-08-31 Daniel Marjamäki * CheckClass.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, testcasebreak/warn.msg, testmemleak3/err.msg, testmemleak4/err.msg, testmemleak4/testmemleak4.cpp, testmemleak4/warn.msg: Removing false positives 2007-07-27 Daniel Marjamäki * CheckMemoryLeak.cpp, Statements.cpp, testmemleak2/err.msg, testmemleak2/testmemleak2.cpp, testmemleak3/err.msg, testmemleak3/testmemleak3.cpp: Added 2 checks for memory leaks 2007-07-26 Daniel Marjamäki * main.cpp: Don't allow search pattern in the filename yet. There's no way to solve it through ANSI C. 2007-07-26 Daniel Marjamäki * checkproj.bat, readme.txt: Minor update: Updated the readme and checkproj files. 2007-07-26 Daniel Marjamäki * testcond1/err.msg: TestCond1: Updated test. It didn't have a "err.msg" file 2007-07-26 Daniel Marjamäki * testcasebreak/err.msg, testcasebreak/testcasebreak.cpp, testcasebreak/warn.msg: Added test: "testcasebreak" 2007-07-24 Daniel Marjamäki * main.cpp: Searching multiple files 2007-07-24 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, testcond1/testcond1.cpp, testcond1/warn.msg: Added checks: * CheckIfAssignment: assignment in condition * CheckCaseWithoutBreak: case but no break/return 2007-07-20 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckMemoryLeak.cpp, Statements.cpp, checknpp.bat, main.cpp, testclass13/warn.msg: Command line options: Added "--all" and "--style", removed "-w" 2007-07-20 Daniel Marjamäki * bufferoverrun.txt: bufferoverrun.txt: Added file that contains thoughts and ideas concerning buffer overruns. 2007-07-20 Daniel Marjamäki * CheckMemoryLeak.cpp, CommonCheck.cpp, CommonCheck.h, Statements.cpp: For the highest accuracy, don't warn for all memory leaks unless the "-w" is given 2007-07-20 Daniel Marjamäki * CheckClass.cpp: Always give a warning when 'memset' is used upon a class 2007-07-19 Daniel Marjamäki * CheckBufferOverrun.cpp, main.cpp, testbufferoverrun7/err.msg, testbufferoverrun7/testbufferoverrun7.cpp: Improved the buffer overrun checks. Results that are not 100% certain must be enabled through the "-w". 2007-07-18 Daniel Marjamäki * Makefile, tokenize.cpp: Minor modifications to make it compile on linux 2007-07-18 Daniel Marjamäki * CheckBufferOverrun.cpp, CommonCheck.cpp, main.cpp, testbufferoverrun7/err.msg, testbufferoverrun7/testbufferoverrun7.cpp: Buffer overruns, using string with unknown length 2007-07-17 Daniel Marjamäki * CheckMemoryLeak.cpp, Makefile: Minor updates to make it easier to port to Linux 2007-07-17 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckClass.cpp, CheckHeaders.cpp, CheckMemoryLeak.cpp, CheckOther.cpp, Makefile, cppcheck.bpr, main.cpp, testclass13/err.msg, testclass13/testclass13.cpp, testclass13/warn.msg, tokenize.cpp: Minor updates to make it portable to Linux. 2007-06-11 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Checking if included headers are needed 2007-06-10 Daniel Marjamäki * CheckOther.cpp: CheckOther: minor bug fix 2007-06-10 Daniel Marjamäki * CheckMemoryLeak.cpp, testmemleak1/err.msg, testmemleak1/testmemleak1.cpp: CheckMemoryLeak: Detect memory leaks for class members 2007-06-09 Daniel Marjamäki * CheckOther.cpp: CheckOther: Improved the check that checks 'if (condition) var=true;' 2007-06-09 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Improved the check that checks included headers. 2007-06-08 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Updated message 2007-06-08 Daniel Marjamäki * tokenize.cpp: Tokenize: generate tokens on '#define' (CheckIncludedHeaders) 2007-06-08 Daniel Marjamäki * testbufferoverrun1/warn.msg, testbufferoverrun2/warn.msg, testbufferoverrun3/warn.msg, testbufferoverrun4/warn.msg, testbufferoverrun5/warn.msg, testbufferoverrun6/warn.msg, testdangerousfunc1/warn.msg, testdelete1/err.msg, testfunc2/warn.msg, testfunc3/warn.msg, testfunc4/warn.msg, testfunc5/err.msg, testfunc5/warn.msg, testfunc6/err.msg, testfunc6/warn.msg, testh1/warn.msg, testh3/err.msg, testh3/h1.h, testh3/h2.h, testh3/testh3.cpp, testh3/warn.msg, testif1/err.msg, testif1/warn.msg, testif2/err.msg, testif2/warn.msg, testif3/warn.msg, testif4/warn.msg, testmemcheck1/warn.msg, testmemcheck2/warn.msg, testmemcheck3/warn.msg, testmemcheck4/warn.msg, testmemcheck5/warn.msg, testmemset1/warn.msg, updateall.bat: Updated the tests 2007-06-08 Daniel Marjamäki * checknpp.bat: Checking Notepad++: Enabled all warnings 2007-06-08 Daniel Marjamäki * CheckOther.cpp, testif5/err.msg, testif5/testif5.cpp, testif5/warn.msg: CheckOther: Added check. 'if (condition) var=true; else var=false;' => 'var = (condition);' 2007-06-08 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Limit the number of warnings about 'implementation in header' 2007-06-08 Daniel Marjamäki * main.cpp: Main: More checks are only done when the '-w' flag is given. 2007-06-08 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Bug fix 2007-06-08 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Bug fix 2007-06-08 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckOther.cpp: Modified comments 2007-06-08 Daniel Marjamäki * CheckHeaders.cpp, testh6/err.msg, testh6/testh6.cpp, testh6/testh6.h: CheckHeaders: Check if all included headers are needed 2007-06-06 Daniel Marjamäki * CheckOther.cpp, testfunc6/err.msg, testfunc6/testfunc6.cpp: Added check: "if (condition) var=true;" can be written as "var|=(condition);" 2007-06-05 Daniel Marjamäki * CheckBufferOverrun.cpp: Buffer overrun: also check the 'memcopy' parameters. 2007-06-05 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp, testfunc5/err.msg, testfunc5/testfunc5.cpp: Added check: suspicious usage of strtok 2007-06-05 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp, testfunc4/err.msg, testfunc4/testfunc4.cpp: Invalid Function Parameter: Check calls to strtol and strtoul 2007-06-05 Daniel Marjamäki * CheckHeaders.cpp: CheckHeaders: Minor update 2007-06-05 Daniel Marjamäki * CheckBufferOverrun.cpp: CheckBufferOverrun: Optimized and improved the checking 2007-06-05 Daniel Marjamäki * CheckOther.cpp, CheckOther.h, main.cpp: Added check: 'IsAlpha' 2007-06-04 Daniel Marjamäki * testh1/warn.msg, testh2/warn.msg: Tests: Updated the tests. Checking for unneeded includes 2007-06-04 Daniel Marjamäki * CheckHeaders.cpp, main.cpp: CheckHeaders: Check for unnecessary headers. some fixes. 2007-06-03 Daniel Marjamäki * CheckMemoryLeak.cpp: CheckMemoryLeak: Bug fix. 2007-06-03 Daniel Marjamäki * tokenize.cpp: tokenize: bug fixes. Handling typedefs. 2007-06-02 Daniel Marjamäki * testif2/err.msg: Test: Updated 'testif2' which is testing the 'a=b; if (a!=b)' 2007-06-02 Daniel Marjamäki * testif4/err.msg, testif4/testif4.cpp: Test: Test that 'a=b; if (a==b)' don't generate false positives 2007-06-02 Daniel Marjamäki * testif3/err.msg, testif3/testif3.cpp: Test: Test that 'a=b; if (a==b)' is detected 2007-06-02 Daniel Marjamäki * tokenize.cpp: tokenize: Fixed the 'typedef' simplifications. Added token '#' upon preprocessor instructions. 2007-06-02 Daniel Marjamäki * testif2/err.msg, testif2/testif2.cpp: Test: Test that 'a=b; if (a==b)' is detected 2007-06-02 Daniel Marjamäki * CheckOther.cpp: CheckOther: Added check for 'a=b; if (a==b)' 2007-05-30 Daniel Marjamäki * tokenize.cpp, tokenize.h: tokenizer: made the 'SizeOfType' public. bug fix in the tokenizer (strings longer than 1000 characters). 2007-05-30 Daniel Marjamäki * CheckBufferOverrun.cpp: CheckBufferOverrun.cpp: Bug fixes 2007-05-29 Daniel Marjamäki * TestTok.cpp, main.cpp, tok.bpr: minor updates 2007-05-29 Daniel Marjamäki * tokenize.cpp, tokenize.h: Tokenize: Replace 'typedef' 2007-05-29 Daniel Marjamäki * TestTok.cpp, internaltesting/testdecl.out, main.cpp, tok.bpr, tokenize.cpp, tokenize.h: Tokenize: Simplify declarations 2007-05-28 Daniel Marjamäki * tokenize.cpp: Tokenize: Replace '*(var+num)' with 'var[num]' 2007-05-28 Daniel Marjamäki * tokenize.cpp: Tokenize: improved the preprocessing of 'sizeof(type)' 2007-05-26 Daniel Marjamäki * TestTok.cpp, tok.bpf, tok.bpr: tok: Added a program that tests the tokenizer. 2007-05-26 Daniel Marjamäki * tokenize.cpp: Tokenize: Improved the tokenizer. Calculations are done in the tokenizer. sizeof is replaced with numbers. 2007-05-26 Daniel Marjamäki * testbufferoverrun6/err.msg, testbufferoverrun6/testbufferoverrun6.cpp: Test: Added a buffer overrun test that contains a calculation that points at an illegal index 2007-05-26 Daniel Marjamäki * Makefile: Makefile: Updated because the program has been split up into several files. 2007-05-26 Daniel Marjamäki * CheckBufferOverrun.cpp: CheckBufferOverrun: Improved checking for types other than char 2007-05-25 Daniel Marjamäki * cppcheck.bpr: cppcheck: added checkothers to the project 2007-05-25 Daniel Marjamäki * CheckOther.cpp, CheckOther.h: CheckOther: Added files. This will contain checks that don't fit in the other checking files. 2007-05-25 Daniel Marjamäki * tokenize.cpp: tokenize: moved 'IsName' to commoncheck. Replace 'sizeof(type)' with size. 2007-05-25 Daniel Marjamäki * main.cpp: Main: Moved 'IsName' and 'IsNumber' to commoncheck. Moved remaining checks to checkother and checkbufferoverrun. 2007-05-25 Daniel Marjamäki * Statements.cpp: Statements: Moved 'IsName' from main to commoncheck 2007-05-25 Daniel Marjamäki * CheckClass.cpp: CheckClass: Moved 'IsName' from main to commoncheck 2007-05-25 Daniel Marjamäki * CommonCheck.cpp, CommonCheck.h: CommonCheck: Moved 'IsName' and 'IsNumber' from main.cpp 2007-05-25 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckBufferOverrun.h: CheckBufferOverrun: Added 'CheckDangerousFunctions' 2007-05-24 Daniel Marjamäki * CommonCheck.cpp: CommonCheck: Common functions used while checking for mistakes 2007-05-24 Daniel Marjamäki * CheckMemoryLeak.cpp, CheckMemoryLeak.h: CheckMemoryLeak: Added files (Check for memory leaks) 2007-05-24 Daniel Marjamäki * CheckHeaders.cpp, CheckHeaders.h: CheckHeaders: Added files (Check for mistakes in headers or related to headers) 2007-05-24 Daniel Marjamäki * CheckClass.cpp, CheckClass.h, CommonCheck.h, Statements.cpp, Statements.h, cppcheck.bpr, main.cpp, tokenize.cpp, tokenize.h: CheckClass; Added files (Check for mistakes related to classes) 2007-05-24 Daniel Marjamäki * CheckBufferOverrun.cpp, CheckBufferOverrun.h: CheckBufferOverrun; Added files 2007-05-24 Daniel Marjamäki * cppcheck.bpr, main.cpp, tokenize.cpp, tokenize.h: tokenize: Added files 2007-05-23 Daniel Marjamäki * readme.txt: readme: minor updates 2007-05-21 Daniel Marjamäki * testbufferoverrun5/err.msg, testbufferoverrun5/testbufferoverrun5.cpp: Tests: Added 'TestBufferOverrun5' 2007-05-21 Daniel Marjamäki * main.cpp: Replacing constants to make it easier to find bugs. 2007-05-21 Daniel Marjamäki * testbufferoverrun1/err.msg: Test: minor update to TestBufferOverrun1 2007-05-21 Daniel Marjamäki * testbufferoverrun2/testbufferoverrun2.cpp: Test: Updated 'TestBufferOverrun2'. Bufferusage out of bounds. 2007-05-21 Daniel Marjamäki * testbufferoverrun4/err.msg, testbufferoverrun4/testbufferoverrun4.cpp: Test: Added 'TestBufferOverrun4' 2007-05-21 Daniel Marjamäki * main.cpp, testclass1/warn.msg, testclass10/warn.msg, testclass2/warn.msg, testclass4/warn.msg, testclass7/warn.msg, testclass8/warn.msg, testdelete1/warn.msg, testh1/warn.msg, testh2/warn.msg, testh5/warn.msg: Testing: Added warning messages. 2007-05-21 Daniel Marjamäki * main.cpp: CheckBufferOverrun: buffer overrun inside loop. The tokenizer will convert hexadecimal values to decimal values, which simplifies the checking. 2007-05-21 Daniel Marjamäki * testbufferoverrun1/testbufferoverrun1.cpp, testbufferoverrun2/err.msg, testbufferoverrun2/testbufferoverrun2.cpp, testbufferoverrun3/err.msg, testbufferoverrun3/testbufferoverrun3.cpp: Test: Buffer overrun 2007-05-20 Daniel Marjamäki * testbufferoverrun1/err.msg, testbufferoverrun1/testbufferoverrun1.cpp: Test: Added 'TestBufferOverrun1' 2007-05-20 Daniel Marjamäki * main.cpp: CheckBufferOverrun: Array index out of bounds. 2007-05-20 Daniel Marjamäki * main.cpp, testdangerousfunc1/err.msg, testdangerousfunc1/testdangerousfunc1.cpp: Buffer Overrun: Using dangerous functions 2007-05-20 Daniel Marjamäki * main.cpp: Building statement list: SWITCH - BREAK 2007-05-20 Daniel Marjamäki * testmemcheck4/err.msg, testmemcheck4/testmemcheck4.cpp, testmemcheck5/err.msg, testmemcheck5/testmemcheck5.cpp: Test: Updated 'testmemcheck4' and 'testmemcheck5' (continue/break) 2007-05-20 Daniel Marjamäki * main.cpp: CheckMemoryLeak: Handling continue/break 2007-05-20 Daniel Marjamäki * main.cpp: WarningIf: Bug fix 2007-05-19 Daniel Marjamäki * internaltesting/testloop.out: Test: Updated "testloop" 2007-05-19 Daniel Marjamäki * main.cpp: Build Statement List: LOOP, ENDLOOP 2007-05-19 Daniel Marjamäki * : 60 1 main.cpp 2007-05-19 Daniel Marjamäki * main.cpp: CheckMemleak: Don't handle conditional allocation at the moment. 2007-05-19 Daniel Marjamäki * testmemcheck4/err.msg, testmemcheck4/testmemcheck4.err: Test: File with wrong name was renamed 2007-05-19 Daniel Marjamäki * testmemcheck4/out.err, testmemcheck4/testmemcheck4.err: Test: File with wrong name was renamed 2007-05-19 Daniel Marjamäki * internaltesting/testif.out, internaltesting/testloop.out: Tests: Updated the internaltesting tests "testif" and "testloop" 2007-05-19 Daniel Marjamäki * main.cpp: Build Statement List: ENDIF 2007-05-19 Daniel Marjamäki * main.cpp, testmemcheck4/out.err, testmemcheck4/testmemcheck4.cpp: Tests: Added "testmemcheck4", memory leak from a strdup 2007-05-19 Daniel Marjamäki * main.cpp: Building Statement List: MALLOC. Bug fix (strdup is a malloc) 2007-05-19 Daniel Marjamäki * internaltesting.bat, internaltesting/testloop.cpp, internaltesting/testloop.out, main.cpp: Building Statement List: CONTINUE, BREAK 2007-05-18 Daniel Marjamäki * internaltesting.bat, internaltesting/testif.cpp, internaltesting/testif.out, main.cpp: internaltesting: IF 2007-05-18 Daniel Marjamäki * teststdfunc1/err.msg, teststdfunc1/warn.msg: Tests: Modified the test 'teststdfunc1'. Warnings has been deactivated. 2007-05-18 Daniel Marjamäki * teststdfunc1/err.msg, teststdfunc1/teststdfunc1.cpp, warnstdfunc1/err.msg, warnstdfunc1/teststdfunc1.cpp: Tests: Renamed 'warnstdfunc1' to 'teststdfunc1' 2007-05-18 Daniel Marjamäki * testclass12/err.msg, testclass12/testclass12.cpp, testclass12/warn.msg, warnclass12/err.msg, warnclass12/testclass12.cpp: Testing: Renamed 'warnclass12' to 'testclass12' 2007-05-18 Daniel Marjamäki * main.cpp: * Building Statement list: MALLOC, FREE * Deactivated some warnings to make the output more interesting 2007-05-18 Daniel Marjamäki * testclass12/err.msg, testclass12/testclass12.cpp, teststdfunc1/err.msg, teststdfunc1/teststdfunc1.cpp, warnclass12/err.msg, warnclass12/testclass12.cpp, warnstdfunc1/err.msg, warnstdfunc1/teststdfunc1.cpp: Testing: Deactivating some warnings 2007-05-18 Daniel Marjamäki * main.cpp: Building Statement List: IF, ELSE, ELSEIF 2007-05-18 Daniel Marjamäki * testmemcheck3/err.msg, testmemcheck3/testmemcheck3.cpp: Testing: memcheck3 - new and delete (no error) 2007-05-17 Daniel Marjamäki * internaltesting/testdecl.cpp, internaltesting/testdecl.out: Testing: "return" and "delete" are not variable declarations 2007-05-17 Daniel Marjamäki * testmemcheck2/err.msg, testmemcheck2/testmemcheck2.cpp: Added test for memory checking 2007-05-17 Daniel Marjamäki * main.cpp: Improving the accuracy of the memory leaks detecting 2007-05-16 Daniel Marjamäki * testmemcheck1/err.msg: Test: updated the error message output by memcheck1 2007-05-16 Daniel Marjamäki * internaltesting/testassign.out, internaltesting/testdecl.out, internaltesting/testnew.out, internaltesting/testuse.out: Test: Internal testing, updated the messages 2007-05-16 Daniel Marjamäki * main.cpp: Bug fixing 2007-05-16 Daniel Marjamäki * main.cpp: Checking for memory leaks.. only active in debug mode since it's so inaccurate 2007-05-16 Daniel Marjamäki * main.cpp: Building statement list; USE 2007-05-16 Daniel Marjamäki * internaltesting.bat, internaltesting/testuse.cpp, internaltesting/testuse.out: Test: Internal testing, added "testuse" 2007-05-15 Daniel Marjamäki * readme.txt: readme: minor update 2007-05-15 Daniel Marjamäki * main.cpp: Check for memory leaks 2007-05-15 Daniel Marjamäki * testmemcheck1/err.msg, testmemcheck1/testmemcheck1.cpp: Test: Added "TestMemCheck1" -> mismatching allocation and deallocation 2007-05-15 Daniel Marjamäki * main.cpp: Test: Added command line option "--debug" that is used by the tests "internaltesting" 2007-05-15 Daniel Marjamäki * internaltesting.bat, internaltesting/testassign.cpp, internaltesting/testassign.out, internaltesting/testdecl.cpp, internaltesting/testdecl.out, internaltesting/testnew.cpp, internaltesting/testnew.out: Test: Internal testing 2007-05-15 Daniel Marjamäki * main.cpp: Building statement list; bug fixes 2007-05-15 Daniel Marjamäki * Makefile: Updated the Makefile. The name of this project has changed from 'codecheck' to 'cppcheck' 2007-05-14 Daniel Marjamäki * main.cpp: Building statement list; NEW, NEWARRAY, DELETE, DELETEARRAY 2007-05-14 Daniel Marjamäki * main.cpp: Building statement list; OBRACE, EBRACE, DECL 2007-05-11 Daniel Marjamäki * main.cpp: Class (unused private functions): Reactivated and improved this check 2007-05-10 Daniel Marjamäki * main.cpp: Minor updates. Make sure there is no doublechecking. Don't perform certain checks upon c-files. 2007-05-10 Daniel Marjamäki * checknpp.bat: Updated script that checks notepad++ 2007-05-09 Daniel Marjamäki * testdelete1/err.msg, testh1/err.msg: updated error reports for test cases 2007-05-09 Daniel Marjamäki * main.cpp: Check 'operator=()' 2007-05-09 Daniel Marjamäki * testclass12/err.msg, testclass12/testclass12.cpp: Added testcase: bad 'operator=()' 2007-05-09 Daniel Marjamäki * readme.txt: Added readme.txt 2007-05-09 Daniel Marjamäki * main.cpp: Minor updates: * Refactoring. * don't warn for 'memset(this,..' 2007-05-08 Daniel Marjamäki * checknpp.bat: Added script that checks the notepad++ source code 2007-05-08 Daniel Marjamäki * main.cpp: Updated warning message. Shorter and simpler 2007-05-08 Daniel Marjamäki * main.cpp: Inactivated tests that are not accurate 2007-05-08 Daniel Marjamäki * testh1/err.msg, testh2/err.msg: Updated test cases 2007-05-08 Daniel Marjamäki * testclass5/err.msg, testclass5/testclass5.cpp, testclass6/err.msg, testclass6/testclass6.cpp, testclass6/testclass6.h, testclass9/err.msg, testclass9/testclass9.cpp: Removed test cases that are not currently wanted. 2007-05-08 Daniel Marjamäki * checkcode.bpf, checkcode.bpr, cppcheck.bpf, cppcheck.bpr: Files needed to build with Borland C++ Builder 2007-05-08 Daniel Marjamäki * runall.bat: Removed testing batch file. Must work on this. 2007-05-08 Daniel Marjamäki * checkcode.bpf, checkcode.bpr: Added Borland C++ Builder project files 2007-05-07 Daniel Marjamäki * Added files from local repository.