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.
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.
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 <sw@weilnetz.de>
Fixed #3650 (Variable declaration: Doesn't handle template usage well)
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
Fixed #3383: If there is an empty line between subsequent break statements, only issue a message for inconclusive checking
Implemented #2990: Print relative paths if -rp or --relative-paths is given
Avoid copying Settings in CppCheckExecutor
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
Fixed compilation error (#3709)
Avoid clang warning.
Merge pull request #93 from simartin/clang_warn_fix

Avoid clang warning.
Fixed crash when --errorlist is given (#3711)
CheckOther: Use reportInconclusiveError to report inconclusive error
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
manual: recommend that xml format version 2 is used
Removed unused variable CppCheck::_errout.
fixed compiler errors
Fixed #3609 (clarifyCondition delivers false positives when using Windows-Traits as a template)
false poitive - invalid iterator after break