This commit is contained in:
Sebastien Debrard 2011-03-23 01:23:40 +01:00
commit 0b8f37b8ac
42 changed files with 1800 additions and 1202 deletions

View File

@ -61,8 +61,6 @@ LIBOBJ = lib/checkautovariables.o \
CLIOBJ = cli/cmdlineparser.o \
cli/cppcheckexecutor.o \
cli/filelister.o \
cli/filelister_unix.o \
cli/filelister_win32.o \
cli/main.o \
cli/pathmatch.o \
cli/threadexecutor.o
@ -122,8 +120,8 @@ cppcheck: $(LIBOBJ) $(CLIOBJ) $(EXTOBJ)
all: cppcheck testrunner
testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o cli/filelister_unix.o cli/pathmatch.o
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o testrunner $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) -lpcre cli/threadexecutor.o cli/cmdlineparser.o cli/filelister.o cli/filelister_unix.o cli/pathmatch.o $(LDFLAGS)
testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o cli/pathmatch.o
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o testrunner $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) -lpcre cli/threadexecutor.o cli/cmdlineparser.o cli/filelister.o cli/pathmatch.o $(LDFLAGS)
test: all
./testrunner
@ -132,7 +130,7 @@ check: all
./testrunner -g -q
dmake: tools/dmake.cpp
$(CXX) -o dmake tools/dmake.cpp cli/filelister*.cpp lib/path.cpp -Ilib
$(CXX) -o dmake tools/dmake.cpp cli/filelister.cpp lib/path.cpp -Ilib
clean:
rm -f lib/*.o cli/*.o test/*.o externals/tinyxml/*.o testrunner cppcheck cppcheck.1
@ -168,7 +166,7 @@ lib/checkexceptionsafety.o: lib/checkexceptionsafety.cpp lib/checkexceptionsafet
lib/checkmemoryleak.o: lib/checkmemoryleak.cpp lib/checkmemoryleak.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/symboldatabase.h lib/mathlib.h lib/executionpath.h lib/checkuninitvar.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_LIB} -c -o lib/checkmemoryleak.o lib/checkmemoryleak.cpp
lib/checknullpointer.o: lib/checknullpointer.cpp lib/checknullpointer.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/executionpath.h lib/mathlib.h
lib/checknullpointer.o: lib/checknullpointer.cpp lib/checknullpointer.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/executionpath.h lib/mathlib.h lib/symboldatabase.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_LIB} -c -o lib/checknullpointer.o lib/checknullpointer.cpp
lib/checkobsoletefunctions.o: lib/checkobsoletefunctions.cpp lib/checkobsoletefunctions.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h
@ -180,7 +178,7 @@ lib/checkother.o: lib/checkother.cpp lib/checkother.h lib/check.h lib/token.h li
lib/checkpostfixoperator.o: lib/checkpostfixoperator.cpp lib/checkpostfixoperator.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_LIB} -c -o lib/checkpostfixoperator.o lib/checkpostfixoperator.cpp
lib/checkstl.o: lib/checkstl.cpp lib/checkstl.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/executionpath.h
lib/checkstl.o: lib/checkstl.cpp lib/checkstl.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/executionpath.h lib/symboldatabase.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_LIB} -c -o lib/checkstl.o lib/checkstl.cpp
lib/checkuninitvar.o: lib/checkuninitvar.cpp lib/checkuninitvar.h lib/check.h lib/token.h lib/tokenize.h lib/settings.h lib/errorlogger.h lib/mathlib.h lib/executionpath.h lib/checknullpointer.h
@ -228,15 +226,9 @@ cli/cmdlineparser.o: cli/cmdlineparser.cpp lib/cppcheck.h lib/settings.h lib/err
cli/cppcheckexecutor.o: cli/cppcheckexecutor.cpp cli/cppcheckexecutor.h lib/errorlogger.h lib/settings.h lib/cppcheck.h lib/checkunusedfunctions.h lib/check.h lib/token.h lib/tokenize.h cli/threadexecutor.h cli/cmdlineparser.h cli/filelister.h lib/path.h cli/pathmatch.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_CLI} -c -o cli/cppcheckexecutor.o cli/cppcheckexecutor.cpp
cli/filelister.o: cli/filelister.cpp cli/filelister.h cli/filelister_win32.h cli/filelister_unix.h
cli/filelister.o: cli/filelister.cpp cli/filelister.h lib/path.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_CLI} -c -o cli/filelister.o cli/filelister.cpp
cli/filelister_unix.o: cli/filelister_unix.cpp lib/path.h cli/filelister.h cli/filelister_unix.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_CLI} -c -o cli/filelister_unix.o cli/filelister_unix.cpp
cli/filelister_win32.o: cli/filelister_win32.cpp cli/filelister.h cli/filelister_win32.h lib/path.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_CLI} -c -o cli/filelister_win32.o cli/filelister_win32.cpp
cli/main.o: cli/main.cpp cli/cppcheckexecutor.h lib/errorlogger.h lib/settings.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_CLI} -c -o cli/main.o cli/main.cpp
@ -300,7 +292,7 @@ test/testobsoletefunctions.o: test/testobsoletefunctions.cpp lib/tokenize.h lib/
test/testoptions.o: test/testoptions.cpp test/options.h test/testsuite.h lib/errorlogger.h lib/settings.h test/redirect.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_TEST} -c -o test/testoptions.o test/testoptions.cpp
test/testother.o: test/testother.cpp lib/tokenize.h lib/checkother.h lib/check.h lib/token.h lib/settings.h lib/errorlogger.h test/testsuite.h test/redirect.h
test/testother.o: test/testother.cpp lib/preprocessor.h lib/tokenize.h lib/checkother.h lib/check.h lib/token.h lib/settings.h lib/errorlogger.h test/testsuite.h test/redirect.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_TEST} -c -o test/testother.o test/testother.cpp
test/testpath.o: test/testpath.cpp test/testsuite.h lib/errorlogger.h lib/settings.h test/redirect.h lib/path.h
@ -330,7 +322,7 @@ test/teststl.o: test/teststl.cpp lib/tokenize.h lib/checkstl.h lib/check.h lib/t
test/testsuite.o: test/testsuite.cpp test/testsuite.h lib/errorlogger.h lib/settings.h test/redirect.h test/options.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_TEST} -c -o test/testsuite.o test/testsuite.cpp
test/testsuppressions.o: test/testsuppressions.cpp lib/cppcheck.h lib/settings.h lib/errorlogger.h lib/checkunusedfunctions.h lib/check.h cli/threadexecutor.h lib/token.h lib/tokenize.h test/testsuite.h test/redirect.h
test/testsuppressions.o: test/testsuppressions.cpp lib/cppcheck.h lib/settings.h lib/errorlogger.h lib/checkunusedfunctions.h lib/check.h lib/token.h lib/tokenize.h test/testsuite.h test/redirect.h
$(CXX) $(CPPFLAGS) $(CXXFLAGS) ${INCLUDE_FOR_TEST} -c -o test/testsuppressions.o test/testsuppressions.cpp
test/testsymboldatabase.o: test/testsymboldatabase.cpp test/testsuite.h lib/errorlogger.h lib/settings.h test/redirect.h test/testutils.h lib/tokenize.h lib/token.h lib/symboldatabase.h

View File

@ -16,16 +16,12 @@ SOURCES += main.cpp \
cppcheckexecutor.cpp \
cmdlineparser.cpp \
filelister.cpp \
filelister_unix.cpp \
filelister_win32.cpp \
pathmatch.cpp \
threadexecutor.cpp
HEADERS += cppcheckexecutor.h \
cmdlineparser.h \
filelister.h \
filelister_unix.h \
filelister_win32.h \
pathmatch.h \
threadexecutor.h

View File

@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="9,00"
Name="cppcheck"
ProjectGUID="{A610CB5D-FA83-3FC9-96AB-5689E3B50CEC}"
ProjectGUID="{DFF8822D-8155-38DC-BAFD-1B7A99B650DB}"
Keyword="Qt4VSv1.0">
<Platforms>
<Platform
@ -19,7 +19,7 @@
UseOfMfc="0">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,c:\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,..\..\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalOptions="-Zm200 -w34100 -w34189"
AssemblerListingLocation="temp\"
BufferSecurityCheck="false"
@ -28,7 +28,7 @@
GeneratePreprocessedFile="0"
ObjectFile="temp\"
Optimization ="4"
PreprocessorDefinitions="UNICODE,WIN32,QT_LARGEFILE_SUPPORT,_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="UNICODE,WIN32,QT_LARGEFILE_SUPPORT,HAVE_RULES,_CRT_SECURE_NO_WARNINGS"
ProgramDataBaseFileName=".\"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
@ -61,7 +61,7 @@
Name="VCPreLinkEventTool" />
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="UNICODE,WIN32,QT_LARGEFILE_SUPPORT,_CRT_SECURE_NO_WARNINGS,_DEBUG" />
PreprocessorDefinitions="UNICODE,WIN32,QT_LARGEFILE_SUPPORT,HAVE_RULES,_CRT_SECURE_NO_WARNINGS,_DEBUG" />
</Configuration>
<Configuration
Name="Release|Win32"
@ -72,7 +72,7 @@
UseOfMfc="0">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,c:\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,..\..\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalOptions="-Zm200 -w34100 -w34189"
AssemblerListingLocation="temp\"
BufferSecurityCheck="false"
@ -81,7 +81,7 @@
GeneratePreprocessedFile="0"
ObjectFile="temp\"
Optimization ="2"
PreprocessorDefinitions="QT_NO_DEBUG,NDEBUG,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,NDEBUG,_CRT_SECURE_NO_WARNINGS,NDEBUG"
PreprocessorDefinitions="QT_NO_DEBUG,NDEBUG,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,HAVE_RULES,NDEBUG,_CRT_SECURE_NO_WARNINGS,NDEBUG"
ProgramDataBaseFileName=".\"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
@ -115,7 +115,7 @@
Name="VCPreLinkEventTool" />
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="QT_NO_DEBUG,NDEBUG,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,NDEBUG,_CRT_SECURE_NO_WARNINGS" />
PreprocessorDefinitions="QT_NO_DEBUG,NDEBUG,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,HAVE_RULES,NDEBUG,_CRT_SECURE_NO_WARNINGS" />
</Configuration>
</Configurations>
<Files>
@ -159,10 +159,6 @@
RelativePath="..\lib\executionpath.cpp" />
<File
RelativePath="filelister.cpp" />
<File
RelativePath="filelister_unix.cpp" />
<File
RelativePath="filelister_win32.cpp" />
<File
RelativePath="main.cpp" />
<File
@ -236,10 +232,6 @@
RelativePath="..\lib\executionpath.h" />
<File
RelativePath="filelister.h" />
<File
RelativePath="filelister_unix.h" />
<File
RelativePath="filelister_win32.h" />
<File
RelativePath="..\lib\mathlib.h" />
<File

View File

@ -11,7 +11,7 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E3A516D8-D69D-32D7-A444-A3674D4B1FE8}</ProjectGuid>
<ProjectGuid>{D647F468-12E1-3A1D-A42E-59F4C080F475}</ProjectGuid>
<RootNamespace>cppcheck</RootNamespace>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
@ -50,7 +50,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|Win32&apos;">
<ClCompile>
<AdditionalIncludeDirectories>".";"..\lib";"..\externals";"..\externals\tinyxml";c:\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>".";"..\lib";"..\externals";"..\externals\tinyxml";..\..\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zm200 -w34100 -w34189 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>temp\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -59,7 +59,7 @@
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>temp\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>.\</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@ -79,12 +79,12 @@
</Link>
<Midl />
<ResourceCompile>
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|Win32&apos;">
<ClCompile>
<AdditionalIncludeDirectories>".";"..\lib";"..\externals";"..\externals\tinyxml";c:\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>".";"..\lib";"..\externals";"..\externals\tinyxml";..\..\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zm200 -w34100 -w34189 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>temp\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -92,7 +92,7 @@
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>temp\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>QT_NO_DEBUG;NDEBUG;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;NDEBUG;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>QT_NO_DEBUG;NDEBUG;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;HAVE_RULES;NDEBUG;_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName>.\</ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@ -113,7 +113,7 @@
</Link>
<Midl />
<ResourceCompile>
<PreprocessorDefinitions>QT_NO_DEBUG;NDEBUG;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>QT_NO_DEBUG;NDEBUG;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;HAVE_RULES;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
@ -135,8 +135,6 @@
<ClCompile Include="..\lib\errorlogger.cpp" />
<ClCompile Include="..\lib\executionpath.cpp" />
<ClCompile Include="filelister.cpp" />
<ClCompile Include="filelister_unix.cpp" />
<ClCompile Include="filelister_win32.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="..\lib\mathlib.cpp" />
<ClCompile Include="..\lib\path.cpp" />
@ -173,8 +171,6 @@
<ClInclude Include="..\lib\errorlogger.h" />
<ClInclude Include="..\lib\executionpath.h" />
<ClInclude Include="filelister.h" />
<ClInclude Include="filelister_unix.h" />
<ClInclude Include="filelister_win32.h" />
<ClInclude Include="..\lib\mathlib.h" />
<ClInclude Include="..\lib\path.h" />
<ClInclude Include="pathmatch.h" />

View File

@ -69,12 +69,6 @@
<ClCompile Include="filelister.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="filelister_unix.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="filelister_win32.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -179,12 +173,6 @@
<ClInclude Include="filelister.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="filelister_unix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="filelister_win32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\mathlib.h">
<Filter>Header Files</Filter>
</ClInclude>

View File

@ -71,7 +71,7 @@ bool CppCheckExecutor::parseFromArgs(CppCheck *cppcheck, int argc, const char* c
++iter)
{
const std::string path(Path::toNativeSeparators(*iter));
if (!getFileLister()->isDirectory(path.c_str()))
if (!FileLister::isDirectory(path))
{
std::cout << "cppcheck: error: Couldn't find path given by -I '" + path + "'" << std::endl;
return false;
@ -87,7 +87,7 @@ bool CppCheckExecutor::parseFromArgs(CppCheck *cppcheck, int argc, const char* c
// Execute recursiveAddFiles() to each given file parameter
std::vector<std::string>::const_iterator iter;
for (iter = pathnames.begin(); iter != pathnames.end(); ++iter)
getFileLister()->recursiveAddFiles(filenames, Path::toNativeSeparators(iter->c_str()));
FileLister::recursiveAddFiles(filenames, Path::toNativeSeparators(*iter));
}
if (!filenames.empty())

View File

@ -20,31 +20,9 @@
#include <string>
#include <cctype>
#include <algorithm>
#include <sstream>
#include "filelister.h"
#if defined(_WIN32)
#include "filelister_win32.h"
#else // POSIX-style system
#include "filelister_unix.h"
#endif
// We have one singleton FileLister.
static FileLister *fileLister;
FileLister * getFileLister()
{
if (fileLister == NULL)
{
#if defined(_WIN32)
fileLister = new FileListerWin32;
#else // POSIX-style system
fileLister = new FileListerUnix;
#endif
return fileLister;
}
return fileLister;
}
#include "path.h"
// This wrapper exists because Sun's CC does not allow a static_cast
// from extern "C" int(*)(int) to int(*)(int).
@ -75,3 +53,276 @@ bool FileLister::acceptFile(const std::string &filename)
return false;
}
#ifdef _WIN32
///////////////////////////////////////////////////////////////////////////////
////// This code is WIN32 systems /////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#include <windows.h>
#ifndef __BORLANDC__
#include <shlwapi.h>
#endif
// Here is the catch: cppcheck core is Ansi code (using char type).
// When compiling Unicode targets WinAPI automatically uses *W Unicode versions
// of called functions. So we must convert data given to WinAPI functions from
// ANSI to Unicode. Likewise we must convert data we get from WinAPI from
// Unicode to ANSI.
// Note that qmake creates VS project files that define UNICODE but don't
// define _UNICODE! Which means e.g. TCHAR macros don't work properly.
#if defined(UNICODE)
static bool TransformUcs2ToAnsi(LPCWSTR psUcs, LPSTR psAnsi, int nAnsi)
{
WideCharToMultiByte(CP_ACP, 0, psUcs, -1, psAnsi, nAnsi, NULL, NULL);
return true;
}
static bool TransformAnsiToUcs2(LPCSTR psAnsi, LPWSTR psUcs, UINT nUcs)
{
MultiByteToWideChar(CP_ACP, 0, psAnsi, -1, psUcs, nUcs);
return true;
}
static BOOL MyIsDirectory(std::string path)
{
WCHAR * unicodeCleanPath = new WCHAR[path.size() + 1];
TransformAnsiToUcs2(path.c_str(), unicodeCleanPath,
(path.size() * sizeof(WCHAR)) + 1);
// See http://msdn.microsoft.com/en-us/library/bb773621(VS.85).aspx
BOOL res = PathIsDirectory(unicodeCleanPath);
delete [] unicodeCleanPath;
return res;
}
static HANDLE MyFindFirstFile(std::string path, LPWIN32_FIND_DATA findData)
{
WCHAR * unicodeOss = new wchar_t[path.size() + 1];
TransformAnsiToUcs2(path.c_str(), unicodeOss, (path.size() + 1) * sizeof(WCHAR));
HANDLE hFind = FindFirstFile(unicodeOss, findData);
delete [] unicodeOss;
return hFind;
}
#else // defined(UNICODE)
static BOOL MyIsDirectory(std::string path)
{
#ifdef __BORLANDC__
return (GetFileAttributes(path.c_str()) & FILE_ATTRIBUTE_DIRECTORY);
#else
// See http://msdn.microsoft.com/en-us/library/bb773621(VS.85).aspx
return PathIsDirectory(path.c_str());
#endif
}
static HANDLE MyFindFirstFile(std::string path, LPWIN32_FIND_DATA findData)
{
HANDLE hFind = FindFirstFile(path.c_str(), findData);
return hFind;
}
#endif // defined(UNICODE)
void FileLister::recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path)
{
// oss is the search string passed into FindFirst and FindNext.
// bdir is the base directory which is used to form pathnames.
// It always has a trailing backslash available for concatenation.
std::ostringstream bdir, oss;
std::string cleanedPath = Path::toNativeSeparators(path);
oss << cleanedPath;
if (MyIsDirectory(cleanedPath.c_str()))
{
char c = cleanedPath[ cleanedPath.size()-1 ];
switch (c)
{
case '\\':
oss << '*';
bdir << cleanedPath;
break;
case '*':
bdir << cleanedPath.substr(0, cleanedPath.length() - 1);
break;
default:
oss << "\\*";
if (cleanedPath != ".")
bdir << cleanedPath << '\\';
}
}
else
{
std::string::size_type pos;
pos = cleanedPath.find_last_of('\\');
if (std::string::npos != pos)
{
bdir << cleanedPath.substr(0, pos + 1);
}
}
WIN32_FIND_DATA ffd;
HANDLE hFind = MyFindFirstFile(oss.str(), &ffd);
if (INVALID_HANDLE_VALUE == hFind)
return;
do
{
if (ffd.cFileName[0] == '.' || ffd.cFileName[0] == '\0')
continue;
#if defined(UNICODE)
char * ansiFfd = new char[wcslen(ffd.cFileName) + 1];
TransformUcs2ToAnsi(ffd.cFileName, ansiFfd, wcslen(ffd.cFileName) + 1);
#else // defined(UNICODE)
const char * ansiFfd = &ffd.cFileName[0];
if (strchr(ansiFfd,'?'))
{
ansiFfd = &ffd.cAlternateFileName[0];
}
#endif // defined(UNICODE)
std::ostringstream fname;
fname << bdir.str().c_str() << ansiFfd;
if ((ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
{
// File
// If recursive is not used, accept all files given by user
if (Path::sameFileName(path,ansiFfd) || FileLister::acceptFile(ansiFfd))
{
const std::string nativename = Path::fromNativeSeparators(fname.str());
filenames.push_back(nativename);
}
}
else
{
// Directory
FileLister::recursiveAddFiles(filenames, fname.str());
}
#if defined(UNICODE)
delete [] ansiFfd;
#endif // defined(UNICODE)
}
while (FindNextFile(hFind, &ffd) != FALSE);
if (INVALID_HANDLE_VALUE != hFind)
{
FindClose(hFind);
hFind = INVALID_HANDLE_VALUE;
}
}
bool FileLister::isDirectory(const std::string &path)
{
return (MyIsDirectory(path) != FALSE);
}
#else
///////////////////////////////////////////////////////////////////////////////
////// This code is POSIX-style systems ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#include <glob.h>
#include <unistd.h>
#include <stdlib.h>
#include <limits.h>
void FileLister::recursiveAddFiles2(std::vector<std::string> &relative,
std::vector<std::string> &absolute,
const std::string &path)
{
std::ostringstream oss;
oss << path;
if (path.length() > 0 && path[path.length()-1] == '/')
oss << "*";
glob_t glob_results;
glob(oss.str().c_str(), GLOB_MARK, 0, &glob_results);
for (unsigned int i = 0; i < glob_results.gl_pathc; i++)
{
const std::string filename = glob_results.gl_pathv[i];
if (filename == "." || filename == ".." || filename.length() == 0)
continue;
if (filename[filename.length()-1] != '/')
{
// File
#ifdef PATH_MAX
char fname[PATH_MAX];
if (realpath(filename.c_str(), fname) == NULL)
#else
char *fname;
if ((fname = realpath(filename.c_str(), NULL)) == NULL)
#endif
{
continue;
}
// Does absolute path exist? then bail out
if (std::find(absolute.begin(), absolute.end(), std::string(fname)) != absolute.end())
{
#ifndef PATH_MAX
free(fname);
#endif
continue;
}
if (Path::sameFileName(path,filename) || FileLister::acceptFile(filename))
{
relative.push_back(filename);
absolute.push_back(fname);
}
#ifndef PATH_MAX
free(fname);
#endif
}
else
{
// Directory
recursiveAddFiles2(relative, absolute, filename);
}
}
globfree(&glob_results);
}
void FileLister::recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path)
{
std::vector<std::string> abs;
recursiveAddFiles2(filenames, abs, path);
}
bool FileLister::isDirectory(const std::string &path)
{
bool ret = false;
glob_t glob_results;
glob(path.c_str(), GLOB_MARK, 0, &glob_results);
if (glob_results.gl_pathc == 1)
{
const std::string glob_path = glob_results.gl_pathv[0];
if (!glob_path.empty() && glob_path[glob_path.size() - 1] == '/')
{
ret = true;
}
}
globfree(&glob_results);
return ret;
}
#endif

View File

@ -16,8 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef FileListerH
#define FileListerH
#ifndef filelisterH
#define filelisterH
#include <vector>
#include <string>
@ -25,19 +25,10 @@
/// @addtogroup CLI
/// @{
/**
* @brief Base class for Cppcheck filelisters.
* Used to recursively search for source files. This class defines a platform
* independant interface and subclasses will provide platform dependant
* implementation. */
/** @brief Cross-platform FileLister */
class FileLister
{
public:
/**
* @brief destructor of class filelister
*/
virtual ~FileLister() {}
/**
* @brief Recursively add source files to a vector.
* Add source files from given directory and all subdirectries to the
@ -46,8 +37,8 @@ public:
* @param filenames output vector that filenames are written to
* @param path root path
*/
virtual void recursiveAddFiles(std::vector<std::string> &filenames,
const std::string &path) = 0;
static void recursiveAddFiles(std::vector<std::string> &filenames,
const std::string &path);
/**
* @brief Check if the file extension indicates that it's a source file.
@ -61,12 +52,15 @@ public:
* @brief Is given path a directory?
* @return returns true if the path is a directory
*/
virtual bool isDirectory(const std::string &path) = 0;
};
static bool isDirectory(const std::string &path);
/** @brief get filelister (platform dependent implementation) */
FileLister * getFileLister();
#ifndef _WIN32
static void recursiveAddFiles2(std::vector<std::string> &relative,
std::vector<std::string> &absolute,
const std::string &path);
#endif
};
/// @}
#endif // #ifndef FileListerH
#endif // #ifndef filelisterH

View File

@ -1,128 +0,0 @@
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <sstream>
#include <vector>
#include <cstring>
#include <string>
#include <algorithm>
#ifndef _WIN32 // POSIX-style system
#include <glob.h>
#include <unistd.h>
#include <stdlib.h>
#include <limits.h>
#endif
#ifndef _WIN32
#include "path.h"
#include "filelister.h"
#include "filelister_unix.h"
///////////////////////////////////////////////////////////////////////////////
////// This code is POSIX-style systems ///////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void FileListerUnix::recursiveAddFiles2(std::vector<std::string> &relative,
std::vector<std::string> &absolute,
const std::string &path)
{
std::ostringstream oss;
oss << path;
if (path.length() > 0 && path[path.length()-1] == '/')
oss << "*";
glob_t glob_results;
glob(oss.str().c_str(), GLOB_MARK, 0, &glob_results);
for (unsigned int i = 0; i < glob_results.gl_pathc; i++)
{
const std::string filename = glob_results.gl_pathv[i];
if (filename == "." || filename == ".." || filename.length() == 0)
continue;
if (filename[filename.length()-1] != '/')
{
// File
#ifdef PATH_MAX
char fname[PATH_MAX];
if (realpath(filename.c_str(), fname) == NULL)
#else
char *fname;
if ((fname = realpath(filename.c_str(), NULL)) == NULL)
#endif
{
continue;
}
// Does absolute path exist? then bail out
if (std::find(absolute.begin(), absolute.end(), std::string(fname)) != absolute.end())
{
#ifndef PATH_MAX
free(fname);
#endif
continue;
}
if (Path::sameFileName(path,filename) || FileLister::acceptFile(filename))
{
relative.push_back(filename);
absolute.push_back(fname);
}
#ifndef PATH_MAX
free(fname);
#endif
}
else
{
// Directory
recursiveAddFiles2(relative, absolute, filename);
}
}
globfree(&glob_results);
}
void FileListerUnix::recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path)
{
std::vector<std::string> abs;
recursiveAddFiles2(filenames, abs, path);
}
bool FileListerUnix::isDirectory(const std::string &path)
{
bool ret = false;
glob_t glob_results;
glob(path.c_str(), GLOB_MARK, 0, &glob_results);
if (glob_results.gl_pathc == 1)
{
const std::string glob_path = glob_results.gl_pathv[0];
if (!glob_path.empty() && glob_path[glob_path.size() - 1] == '/')
{
ret = true;
}
}
globfree(&glob_results);
return ret;
}
#endif // _WIN32

View File

@ -1,45 +0,0 @@
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef FileListerUnixH
#define FileListerUnixH
#include <vector>
#include <string>
#include "filelister.h"
/// @addtogroup CLI
/// @{
class FileListerUnix : public FileLister
{
public:
virtual void recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path);
virtual bool isDirectory(const std::string &path);
private:
#ifndef _WIN32
void recursiveAddFiles2(std::vector<std::string> &relative,
std::vector<std::string> &absolute,
const std::string &path);
#endif
};
/// @}
#endif // #ifndef FileListerUnixH

View File

@ -1,200 +0,0 @@
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <sstream>
#include <vector>
#include <cstring>
#include <string>
#include <cctype>
#include <algorithm>
#include "filelister.h"
#include "filelister_win32.h"
#include "path.h"
#if defined(_WIN32)
#include <windows.h>
#ifndef __BORLANDC__
#include <shlwapi.h>
#endif
#endif
#if defined(_WIN32)
// Here is the catch: cppcheck core is Ansi code (using char type).
// When compiling Unicode targets WinAPI automatically uses *W Unicode versions
// of called functions. So we must convert data given to WinAPI functions from
// ANSI to Unicode. Likewise we must convert data we get from WinAPI from
// Unicode to ANSI.
// Note that qmake creates VS project files that define UNICODE but don't
// define _UNICODE! Which means e.g. TCHAR macros don't work properly.
#if defined(UNICODE)
static bool TransformUcs2ToAnsi(LPCWSTR psUcs, LPSTR psAnsi, int nAnsi)
{
WideCharToMultiByte(CP_ACP, 0, psUcs, -1, psAnsi, nAnsi, NULL, NULL);
return true;
}
static bool TransformAnsiToUcs2(LPCSTR psAnsi, LPWSTR psUcs, UINT nUcs)
{
MultiByteToWideChar(CP_ACP, 0, psAnsi, -1, psUcs, nUcs);
return true;
}
static BOOL MyIsDirectory(std::string path)
{
WCHAR * unicodeCleanPath = new WCHAR[path.size() + 1];
TransformAnsiToUcs2(path.c_str(), unicodeCleanPath,
(path.size() * sizeof(WCHAR)) + 1);
// See http://msdn.microsoft.com/en-us/library/bb773621(VS.85).aspx
BOOL res = PathIsDirectory(unicodeCleanPath);
delete [] unicodeCleanPath;
return res;
}
static HANDLE MyFindFirstFile(std::string path, LPWIN32_FIND_DATA findData)
{
WCHAR * unicodeOss = new wchar_t[path.size() + 1];
TransformAnsiToUcs2(path.c_str(), unicodeOss, (path.size() + 1) * sizeof(WCHAR));
HANDLE hFind = FindFirstFile(unicodeOss, findData);
delete [] unicodeOss;
return hFind;
}
#else // defined(UNICODE)
static BOOL MyIsDirectory(std::string path)
{
#ifdef __BORLANDC__
return (GetFileAttributes(path.c_str()) & FILE_ATTRIBUTE_DIRECTORY);
#else
// See http://msdn.microsoft.com/en-us/library/bb773621(VS.85).aspx
return PathIsDirectory(path.c_str());
#endif
}
static HANDLE MyFindFirstFile(std::string path, LPWIN32_FIND_DATA findData)
{
HANDLE hFind = FindFirstFile(path.c_str(), findData);
return hFind;
}
#endif // defined(UNICODE)
void FileListerWin32::recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path)
{
// oss is the search string passed into FindFirst and FindNext.
// bdir is the base directory which is used to form pathnames.
// It always has a trailing backslash available for concatenation.
std::ostringstream bdir, oss;
std::string cleanedPath = Path::toNativeSeparators(path);
oss << cleanedPath;
if (MyIsDirectory(cleanedPath.c_str()))
{
char c = cleanedPath[ cleanedPath.size()-1 ];
switch (c)
{
case '\\':
oss << '*';
bdir << cleanedPath;
break;
case '*':
bdir << cleanedPath.substr(0, cleanedPath.length() - 1);
break;
default:
oss << "\\*";
if (cleanedPath != ".")
bdir << cleanedPath << '\\';
}
}
else
{
std::string::size_type pos;
pos = cleanedPath.find_last_of('\\');
if (std::string::npos != pos)
{
bdir << cleanedPath.substr(0, pos + 1);
}
}
WIN32_FIND_DATA ffd;
HANDLE hFind = MyFindFirstFile(oss.str(), &ffd);
if (INVALID_HANDLE_VALUE == hFind)
return;
do
{
if (ffd.cFileName[0] == '.' || ffd.cFileName[0] == '\0')
continue;
#if defined(UNICODE)
char * ansiFfd = new char[wcslen(ffd.cFileName) + 1];
TransformUcs2ToAnsi(ffd.cFileName, ansiFfd, wcslen(ffd.cFileName) + 1);
#else // defined(UNICODE)
const char * ansiFfd = &ffd.cFileName[0];
if (strchr(ansiFfd,'?'))
{
ansiFfd = &ffd.cAlternateFileName[0];
}
#endif // defined(UNICODE)
std::ostringstream fname;
fname << bdir.str().c_str() << ansiFfd;
if ((ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
{
// File
// If recursive is not used, accept all files given by user
if (Path::sameFileName(path,ansiFfd) || FileLister::acceptFile(ansiFfd))
{
const std::string nativename = Path::fromNativeSeparators(fname.str());
filenames.push_back(nativename);
}
}
else
{
// Directory
getFileLister()->recursiveAddFiles(filenames, fname.str());
}
#if defined(UNICODE)
delete [] ansiFfd;
#endif // defined(UNICODE)
}
while (FindNextFile(hFind, &ffd) != FALSE);
if (INVALID_HANDLE_VALUE != hFind)
{
FindClose(hFind);
hFind = INVALID_HANDLE_VALUE;
}
}
bool FileListerWin32::isDirectory(const std::string &path)
{
return (MyIsDirectory(path) != FALSE);
}
#endif // _WIN32

View File

@ -1,41 +0,0 @@
/*
* Cppcheck - A tool for static C/C++ code analysis
* Copyright (C) 2007-2011 Daniel Marjamäki and Cppcheck team.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef FileListerWin32H
#define FileListerWin32H
#include <vector>
#include <string>
#include "filelister.h"
/// @addtogroup CLI
/// @{
class FileListerWin32 : public FileLister
{
public:
virtual void recursiveAddFiles(std::vector<std::string> &filenames, const std::string &path);
virtual bool isDirectory(const std::string &path);
private:
};
/// @}
#endif // #ifndef FileListerWin32H

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2010 Daniel Marjamäki und das Cppcheck-Team.</translation>
</message>
<message>
@ -220,12 +220,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -537,97 +537,97 @@ kate -l(line) (file)</translation>
<translation>&amp;Hilfe</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Dateien zum Überprüfen auswählen</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Verzeichnis zum Überprüfen auswählen</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>Kein passenden Dateien zum Überprüfen gefunden!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>Lizenz</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Autoren</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML-Dateien (*.xml);;Textdateien (*.txt);;CSV-Dateien (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Speichert die Berichtdatei</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML-Dateien (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Textdateien (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation>CSV-Dateien (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -649,24 +649,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -676,12 +676,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -741,7 +741,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -751,7 +751,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -775,24 +775,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -806,6 +810,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -820,15 +829,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Verzeichnis zum Überprüfen auswählen</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -858,25 +872,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Schweregrad</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Zeile</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -886,43 +900,48 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>Undefinierte Datei</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Dateiname kopieren</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Vollständigen Pfad kopieren</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation>Meldung kopieren</translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>Konfigurieren Sie das Text-Dateibetrachter-Programm unter Einstellungen/Anwendungen.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -931,44 +950,44 @@ Please check the application path and parameters are correct.</source>
Bitte überprüfen Sie ob der Pfad und die Parameter der Anwendung richtig eingestellt sind.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>Stil</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2009 Daniel Marjamäki and cppcheck team.</translation>
</message>
<message>
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -539,97 +539,97 @@ kate -l(line) (file)</translation>
<translation>&amp;Help</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Select files to check</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Select directory to check</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>No suitable files found to check!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>License</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Authors</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Save the report file</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML files (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Text files (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -649,24 +649,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
%1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -676,12 +676,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -741,7 +741,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -751,7 +751,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -775,24 +775,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -806,6 +810,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -820,15 +829,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Select directory to check</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -858,25 +872,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Severity</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Line</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -886,43 +900,48 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>Undefined file</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Copy filename</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Copy full path</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>You can open this error by specifying applications in program&apos;s settings.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -931,44 +950,44 @@ Please check the application path and parameters are correct.</source>
Please check the application path and parameters are correct.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>Style</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>Error</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2009 Daniel Marjamäki ja cppcheck tiimi.</translation>
</message>
<message>
@ -224,12 +224,12 @@ kate -l(line) (file)
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -541,97 +541,97 @@ kate -l(line) (file)
<translation>&amp;Ohje</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Valitse tarkistettavat tiedostot</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Valitse tarkistettava hakemisto</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>Tarkistettavaksi sopivia tiedostoja ei löytynyt!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>Lisenssi</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Tekijät</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML-tiedostot (*.xml);;Tekstitiedostot (*.txt);;CSV-tiedostot (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Tallenna raportti</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML-tiedostot (*xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Tekstitiedostot (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -653,24 +653,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -680,12 +680,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -745,7 +745,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -755,7 +755,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -779,24 +779,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -810,6 +814,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -824,15 +833,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Valitse tarkistettava hakemisto</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -862,25 +876,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>Tiedosto</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Tyyppi</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Rivi</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -890,43 +904,48 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>Määrittelemätön tiedosto</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Kopioi tiedostonimi</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Kopioi tiedoston koko polku</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>Voit asetuksista määritellä muita ohjelmia joilla avata tämän virheen sisältävän tiedoston.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -935,44 +954,44 @@ Please check the application path and parameters are correct.</source>
Tarkista että ohjelman polku ja parametrit ovat oikeat.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>Tyyli</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>Yleinen</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -26,7 +26,7 @@ General Public License version 3</translation>
<translation>Visitez le site Cppcheck : %1</translation>
</message>
<message utf8="true">
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -631,6 +631,10 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProjectFileDialog</name>
@ -646,6 +650,10 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Select directory to check</source>
<translation type="unfinished">Sélectionner le répertoire à vérifier</translation>
</message>
<message>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -758,6 +766,10 @@ Please select the directory where file is located.</source>
<source>information</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ResultsView</name>

View File

@ -20,9 +20,9 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation></translation>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="about.ui" line="91"/>
@ -208,12 +208,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -525,44 +525,44 @@ kate -l(line) (file)</translation>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
@ -571,53 +571,53 @@ Do you want to stop the checking and exit Cppcheck?.</source>
Cppcheckを終了しますか.</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML (*.xml);; (*.txt);;CSV形式ファイル (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation> (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation>CSV形式ファイル (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -636,24 +636,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation>Cppcheck </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation> (*.cppcheck);;All files(*.*)</translation>
</message>
@ -663,12 +663,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation></translation>
</message>
@ -728,7 +728,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -738,7 +738,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -762,24 +762,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation>:</translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished">...</translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -793,6 +797,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Include paths:</source>
<translation type="obsolete">Include :</translation>
@ -811,15 +820,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>:%1</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation>includeディレクトリを選択</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -843,25 +857,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation></translation>
</message>
@ -871,42 +885,47 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -915,7 +934,7 @@ Please check the application path and parameters are correct.</source>
</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
@ -924,37 +943,37 @@ Please select the directory where file is located.</source>
</translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2009 Daniel Marjamäki en het cppcheck.</translation>
</message>
<message>
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -539,97 +539,97 @@ kate -l(line) (file)</translation>
<translation>&amp;Help</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Selecteer bestanden om te controleren</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Selecteer een map om te controleren</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>Geen geschikte bestanden gevonden om te controleren!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>Licentie</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Auteurs</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML bestanden (*.xml);;Tekst bestanden (*.txt);;CSV bestanden (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Rapport opslaan </translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML bestanden (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Tekst bestanden (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -649,24 +649,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
%1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -676,12 +676,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -741,7 +741,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -751,7 +751,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -775,24 +775,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -806,6 +810,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -820,15 +829,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Selecteer een map om te controleren</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -858,25 +872,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>Bestand</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Ernst</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Regel</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -886,43 +900,48 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>Niet gedefinieerd bestand</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Kopier bestandsnaam</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Kopieer volledig pad</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>U dient een applicatie te configureren in de instellingen om deze fout in te openen.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -931,44 +950,44 @@ Please check the application path and parameters are correct.</source>
Gelieve te controleren of de het pad en de parameters correct zijn.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>Stijlfouten</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>Fouten</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
@ -209,12 +209,12 @@ kate -l(line) (file)</oldsource>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation type="unfinished"></translation>
</message>
@ -526,131 +526,131 @@ kate -l(line) (file)</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -715,7 +715,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished"></translation>
</message>
@ -725,7 +725,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -749,24 +749,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -780,6 +784,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -794,15 +803,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -826,25 +840,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -854,86 +868,91 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
@ -212,12 +212,12 @@ kate -l(line) (file)</oldsource>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -529,97 +529,97 @@ kate -l(line) (file)</oldsource>
<translation>Помощь</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Выберите файлы для проверки</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Выберите каталог для проверки</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>Лицензия</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Авторы</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Текстовые файлы (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -641,24 +641,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -668,12 +668,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -733,7 +733,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -743,7 +743,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -767,24 +767,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -798,6 +802,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -812,15 +821,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Выберите каталог для проверки</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -850,25 +864,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Важность</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Строка</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -878,87 +892,92 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Скопировать имя файла</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Скопировать полный путь</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,8 +20,8 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2009 Daniel Marjamäki and cppcheck team.</translation>
</message>
<message>
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -539,97 +539,97 @@ kate -l(line) (file)</translation>
<translation>&amp;Help</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Select files to check</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Select directory to check</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>No suitable files found to check!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>License</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Authors</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Save the report file</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML files (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Text files (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -649,24 +649,24 @@ Do you want to stop the checking and exit Cppcheck?.</source>
%1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -676,12 +676,12 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation type="unfinished"></translation>
</message>
@ -741,7 +741,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation type="unfinished">Cppcheck</translation>
</message>
@ -751,7 +751,7 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation type="unfinished"></translation>
</message>
@ -775,24 +775,28 @@ Do you want to stop the checking and exit Cppcheck?.</source>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -806,6 +810,11 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="51"/>
<source>Defines:</source>
@ -820,15 +829,20 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation type="unfinished">Select directory to check</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -858,25 +872,25 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Severity</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Line</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
@ -886,43 +900,48 @@ Do you want to stop the checking and exit Cppcheck?.</source>
<translation>Undefined file</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Copy filename</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Copy full path</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>You can open this error by specifying applications in program&apos;s settings.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -931,44 +950,44 @@ Please check the application path and parameters are correct.</source>
Please check the application path and parameters are correct.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>Style</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>Error</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation type="unfinished"></translation>
</message>

View File

@ -20,9 +20,9 @@
</message>
<message utf8="true">
<location filename="about.ui" line="81"/>
<source>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation>Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</translation>
<source>Copyright © 2007-2011 Daniel Marjamäki and cppcheck team.</source>
<oldsource>Copyright © 2007-2010 Daniel Marjamäki and cppcheck team.</oldsource>
<translation type="unfinished">Copyright (C) 2007-2010 Daniel Marjamäki and cppcheck team.</translation>
</message>
<message>
<location filename="about.ui" line="91"/>
@ -222,12 +222,12 @@ kate -l(line) (file)</translation>
<name>MainWindow</name>
<message>
<location filename="main.ui" line="26"/>
<location filename="mainwindow.cpp" line="202"/>
<location filename="mainwindow.cpp" line="229"/>
<location filename="mainwindow.cpp" line="527"/>
<location filename="mainwindow.cpp" line="651"/>
<location filename="mainwindow.cpp" line="667"/>
<location filename="mainwindow.cpp" line="808"/>
<location filename="mainwindow.cpp" line="204"/>
<location filename="mainwindow.cpp" line="231"/>
<location filename="mainwindow.cpp" line="529"/>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="669"/>
<location filename="mainwindow.cpp" line="809"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -540,65 +540,65 @@ kate -l(line) (file)</translation>
<translation>&amp;Hjälp</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="245"/>
<location filename="mainwindow.cpp" line="247"/>
<source>Select files to check</source>
<translation>Välj filer att kontrollera</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="259"/>
<location filename="mainwindow.cpp" line="261"/>
<source>Select directory to check</source>
<translation>Välj katalog som skall kontrolleras</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="203"/>
<location filename="mainwindow.cpp" line="205"/>
<source>No suitable files found to check!</source>
<translation>Inga lämpliga filer hittades!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="570"/>
<location filename="mainwindow.cpp" line="572"/>
<source>License</source>
<translation>Licens</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="577"/>
<location filename="mainwindow.cpp" line="579"/>
<source>Authors</source>
<translation>Utvecklare</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="585"/>
<location filename="mainwindow.cpp" line="587"/>
<source>XML files version 2 (*.xml);;XML files version 1 (*.xml);;Text files (*.txt);;CSV files (*.csv)</source>
<oldsource>XML files (*.xml);;Text files (*.txt);;CSV files (*.csv)</oldsource>
<translation type="unfinished">XML filer (*.xml);;Text filer (*.txt);;CSV filer (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="587"/>
<location filename="mainwindow.cpp" line="589"/>
<source>Save the report file</source>
<translation>Spara rapport</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="446"/>
<location filename="mainwindow.cpp" line="448"/>
<source>XML files (*.xml)</source>
<translation>XML filer (*.xml)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="230"/>
<location filename="mainwindow.cpp" line="232"/>
<source>You must close the project file before selecting new files or directories!</source>
<translation>Du måste stänga projektfilen innan nya filer eller sökvägar kan väljas!</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<location filename="mainwindow.cpp" line="304"/>
<location filename="mainwindow.cpp" line="739"/>
<location filename="mainwindow.cpp" line="785"/>
<location filename="mainwindow.cpp" line="786"/>
<source>Project: </source>
<translation>Projekt.</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="448"/>
<location filename="mainwindow.cpp" line="450"/>
<source>Open the report file</source>
<translation>Öppna rapportfilen</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="523"/>
<location filename="mainwindow.cpp" line="525"/>
<source>Checking is running.
Do you want to stop the checking and exit Cppcheck?.</source>
@ -607,32 +607,32 @@ Do you want to stop the checking and exit Cppcheck?.</source>
Vill du stoppa analysen och avsluta Cppcheck?</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="595"/>
<location filename="mainwindow.cpp" line="597"/>
<source>XML files version 1 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="601"/>
<location filename="mainwindow.cpp" line="603"/>
<source>XML files version 2 (*.xml)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainwindow.cpp" line="607"/>
<location filename="mainwindow.cpp" line="609"/>
<source>Text files (*.txt)</source>
<translation>Text filer (*.txt)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="613"/>
<location filename="mainwindow.cpp" line="615"/>
<source>CSV files (*.csv)</source>
<translation>CSV filer (*.csv)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="653"/>
<location filename="mainwindow.cpp" line="655"/>
<source>Cppcheck - %1</source>
<translation>Cppcheck - %1</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="668"/>
<location filename="mainwindow.cpp" line="670"/>
<source>Failed to change the language:
%1</source>
@ -654,24 +654,24 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="708"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Cppcheck Help</source>
<translation>Cppcheck Hjälp</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="706"/>
<location filename="mainwindow.cpp" line="708"/>
<source>Failed to load help file (not found)</source>
<translation>Misslyckades att öppna hjälpfilen (hittades ej)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="715"/>
<location filename="mainwindow.cpp" line="717"/>
<source>Failed to load help file</source>
<translation>Misslykades att öppna hjälpfilen</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="729"/>
<location filename="mainwindow.cpp" line="774"/>
<location filename="mainwindow.cpp" line="775"/>
<source>Project files (*.cppcheck);;All files(*.*)</source>
<translation>Projektfiler (*.cppcheck);;Alla filer(*.*)</translation>
</message>
@ -681,12 +681,12 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<translation>Välj projektfil</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="776"/>
<location filename="mainwindow.cpp" line="777"/>
<source>Select Project Filename</source>
<translation>Välj Projektfil</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="809"/>
<location filename="mainwindow.cpp" line="810"/>
<source>No project file loaded</source>
<translation>Inget projekt laddat</translation>
</message>
@ -746,7 +746,7 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<name>Project</name>
<message>
<location filename="project.cpp" line="63"/>
<location filename="project.cpp" line="103"/>
<location filename="project.cpp" line="109"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
@ -756,7 +756,7 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<translation>Kunde ej läsa projektfilen.</translation>
</message>
<message>
<location filename="project.cpp" line="104"/>
<location filename="project.cpp" line="110"/>
<source>Could not write the project file.</source>
<translation>Kunde ej skriva projektfilen</translation>
</message>
@ -780,24 +780,28 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
</message>
<message>
<location filename="projectfile.ui" line="70"/>
<location filename="projectfile.ui" line="207"/>
<source>Paths:</source>
<translation>Sökvägar:</translation>
</message>
<message>
<location filename="projectfile.ui" line="97"/>
<location filename="projectfile.ui" line="162"/>
<location filename="projectfile.ui" line="221"/>
<source>Add...</source>
<translation type="unfinished">Lägg till...</translation>
</message>
<message>
<location filename="projectfile.ui" line="104"/>
<location filename="projectfile.ui" line="169"/>
<location filename="projectfile.ui" line="228"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="111"/>
<location filename="projectfile.ui" line="176"/>
<location filename="projectfile.ui" line="235"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@ -811,6 +815,11 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<source>Include directories:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="projectfile.ui" line="201"/>
<source>Ignore</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Browse...</source>
<translation type="obsolete">Bläddra...</translation>
@ -833,15 +842,20 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<translation>Projektfil: %1</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="153"/>
<location filename="projectfiledialog.cpp" line="191"/>
<source>Select include directory</source>
<translation>Välj include sökväg</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="165"/>
<location filename="projectfiledialog.cpp" line="203"/>
<source>Select directory to check</source>
<translation>Välj katalog som skall kontrolleras</translation>
</message>
<message>
<location filename="projectfiledialog.cpp" line="241"/>
<source>Select directory to ignore</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
@ -871,25 +885,25 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<name>ResultsTree</name>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>File</source>
<translation>Fil</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Severity</source>
<translation>Typ</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Line</source>
<translation>Rad</translation>
</message>
<message>
<location filename="resultstree.cpp" line="59"/>
<location filename="resultstree.cpp" line="982"/>
<location filename="resultstree.cpp" line="1034"/>
<source>Summary</source>
<translation>Sammanfattning</translation>
</message>
@ -899,43 +913,48 @@ Vill du stoppa analysen och avsluta Cppcheck?</translation>
<translation>Odefinierad fil</translation>
</message>
<message>
<location filename="resultstree.cpp" line="509"/>
<location filename="resultstree.cpp" line="345"/>
<source>debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="resultstree.cpp" line="593"/>
<source>Copy filename</source>
<translation>Kopiera filnamn</translation>
</message>
<message>
<location filename="resultstree.cpp" line="510"/>
<location filename="resultstree.cpp" line="594"/>
<source>Copy full path</source>
<translation>Kopiera full sökväg</translation>
</message>
<message>
<location filename="resultstree.cpp" line="511"/>
<location filename="resultstree.cpp" line="595"/>
<source>Copy message</source>
<translation>Kopiera meddelande</translation>
</message>
<message>
<location filename="resultstree.cpp" line="512"/>
<location filename="resultstree.cpp" line="596"/>
<source>Hide</source>
<translation>Dölj</translation>
</message>
<message>
<location filename="resultstree.cpp" line="559"/>
<location filename="resultstree.cpp" line="643"/>
<source>Cppcheck</source>
<translation>Cppcheck</translation>
</message>
<message>
<location filename="resultstree.cpp" line="560"/>
<location filename="resultstree.cpp" line="644"/>
<source>Configure the text file viewer program in Cppcheck preferences/Applications.</source>
<oldsource>You can open this error by specifying applications in program&apos;s settings.</oldsource>
<translation>Konfigurera program i inställningar/program.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="590"/>
<location filename="resultstree.cpp" line="674"/>
<source>Could not find the file!</source>
<translation>Kunde inte hitta filen!</translation>
</message>
<message>
<location filename="resultstree.cpp" line="628"/>
<location filename="resultstree.cpp" line="712"/>
<source>Could not start %1
Please check the application path and parameters are correct.</source>
@ -944,7 +963,7 @@ Please check the application path and parameters are correct.</source>
Kontrollera att sökvägen och parametrarna är korrekta.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="642"/>
<location filename="resultstree.cpp" line="726"/>
<source>Could not find file:
%1
Please select the directory where file is located.</source>
@ -953,37 +972,37 @@ Please select the directory where file is located.</source>
Välj mappen där filen finns.</translation>
</message>
<message>
<location filename="resultstree.cpp" line="649"/>
<location filename="resultstree.cpp" line="733"/>
<source>Select Directory</source>
<translation>Välj mapp</translation>
</message>
<message>
<location filename="resultstree.cpp" line="831"/>
<location filename="resultstree.cpp" line="321"/>
<source>style</source>
<translation>stil</translation>
</message>
<message>
<location filename="resultstree.cpp" line="835"/>
<location filename="resultstree.cpp" line="325"/>
<source>error</source>
<translation>fel</translation>
</message>
<message>
<location filename="resultstree.cpp" line="839"/>
<location filename="resultstree.cpp" line="329"/>
<source>warning</source>
<translation>varning</translation>
</message>
<message>
<location filename="resultstree.cpp" line="843"/>
<location filename="resultstree.cpp" line="333"/>
<source>performance</source>
<translation>prestanda</translation>
</message>
<message>
<location filename="resultstree.cpp" line="847"/>
<location filename="resultstree.cpp" line="337"/>
<source>portability</source>
<translation>portabilitet</translation>
</message>
<message>
<location filename="resultstree.cpp" line="851"/>
<location filename="resultstree.cpp" line="341"/>
<source>information</source>
<translation>information</translation>
</message>

View File

@ -38,7 +38,7 @@ TRANSLATIONS = cppcheck_fi.ts \
cppcheck_fr.ts \
cppcheck_nl.ts \
cppcheck_en.ts \
cppcheck_se.ts \
cppcheck_sv.ts \
cppcheck_de.ts \
cppcheck_pl.ts \
cppcheck_ru.ts \

View File

@ -38,7 +38,7 @@ TranslationHandler::TranslationHandler(QObject *parent) :
AddTranslation(QT_TRANSLATE_NOOP("MainWindow", "Polish"), "cppcheck_pl");
AddTranslation(QT_TRANSLATE_NOOP("MainWindow", "Russian"), "cppcheck_ru");
AddTranslation(QT_TRANSLATE_NOOP("MainWindow", "Serbian"), "cppcheck_sr");
AddTranslation(QT_TRANSLATE_NOOP("MainWindow", "Swedish"), "cppcheck_se");
AddTranslation(QT_TRANSLATE_NOOP("MainWindow", "Swedish"), "cppcheck_sv");
//Load English as a fallback language
QTranslator *english = new QTranslator();

View File

@ -1446,13 +1446,45 @@ bool CheckClass::isMemberVar(const Scope *scope, const Token *tok)
return false;
}
static int countParameters(const Token *tok)
{
if (Token::Match(tok->tokAt(2), "void| )"))
return 0;
int numpar = 1;
int parlevel = 0;
for (; tok; tok = tok->next())
{
if (tok->str() == "(")
++parlevel;
else if (tok->str() == ")")
{
if (parlevel <= 1)
break;
--parlevel;
}
else if (parlevel == 1 && tok->str() == ",")
{
++numpar;
}
}
return numpar;
}
bool CheckClass::isConstMemberFunc(const Scope *scope, const Token *tok)
{
unsigned int args = countParameters(tok);
std::list<Function>::const_iterator func;
for (func = scope->functionList.begin(); func != scope->functionList.end(); ++func)
{
if (func->tokenDef->str() == tok->str() && func->isConst)
/** @todo we need to look at the argument types when there are overloaded functions
* with the same number of arguments */
if (func->tokenDef->str() == tok->str() && func->argCount() == args && func->isConst)
return true;
}
@ -1546,7 +1578,17 @@ bool CheckClass::checkConstFunc(const Scope *scope, const Token *tok)
// increment/decrement (member variable?)..
else if (Token::Match(tok1, "++|--"))
{
isconst = false;
if (Token::Match(tok1->previous(), "%var%") &&
tok1->previous()->str() != "return")
{
if (isMemberVar(scope, tok1->previous()))
isconst = false;
}
else if (Token::Match(tok1->next(), "%var%"))
{
if (isMemberVar(scope, tok1->next()))
isconst = false;
}
break;
}

View File

@ -42,25 +42,37 @@ CheckMemoryLeakNoVar instance4;
}
// This list needs to be alphabetically sorted so we can run bsearch on it
// This list needs to be alphabetically sorted so we can run bsearch on it.
// This list contains function names whith const parameters e.g.: atof(const char *)
// Reference: http://www.aquaphoenix.com/ref/gnu_c_library/libc_492.html#SEC492
static const char * const call_func_white_list[] =
{
"asctime", "asctime_r", "asprintf", "assert", "atof", "atoi", "atol", "clearerr"
, "ctime", "ctime_r", "delete", "fchmod", "fclose", "fcntl"
, "fdatasync", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets"
, "flock", "for", "fprintf", "fputc", "fputs", "fread", "free", "fscanf", "fseek"
, "fseeko", "fsetpos", "fstat", "fsync", "ftell", "ftello", "ftruncate"
, "fwrite", "getc", "gets", "gmtime", "gmtime_r", "if", "ioctl"
, "localtime", "localtime_r"
, "lockf", "lseek", "memchr", "memcmp", "memcpy", "memmove", "memset"
, "posix_fadvise", "posix_fallocate", "pread"
, "printf", "puts", "pwrite", "qsort", "read", "readahead", "readdir", "readdir_r", "readv"
, "realloc", "return", "rewind", "rewinddir", "scandir", "scanf", "seekdir"
, "setbuf", "setbuffer", "setlinebuf", "setvbuf", "snprintf", "sprintf", "sscanf", "strcasecmp"
, "strcat", "strchr", "strcmp", "strcpy", "stricmp", "strlen", "strncat", "strncmp"
, "strncpy", "strrchr", "strstr", "strtod", "strtol", "strtoul", "switch"
, "sync_file_range", "telldir", "time", "typeid", "vfprintf", "vprintf"
, "vsnprintf", "vsprintf", "while", "write", "writev"
"_open", "_wopen", "access", "adjtime", "asctime", "asctime_r", "asprintf", "assert"
, "atof", "atoi", "atol", "chdir", "chmod", "chown"
, "clearerr", "creat", "ctime", "ctime_r", "delete", "execl", "execle"
, "execlp", "execv", "execve", "fchmod", "fclose", "fcntl"
, "fdatasync", "fdopen", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets"
, "flock", "fmemopen", "fnmatch", "fopen", "fopencookie", "for", "fprintf", "fputc", "fputs", "fread", "free"
, "freopen", "fscanf", "fseek", "fseeko", "fsetpos", "fstat", "fsync", "ftell", "ftello"
, "ftruncate", "fwrite", "getc", "getenv","getgrnam", "gethostbyaddr", "gethostbyname", "getnetbyname"
, "getopt", "getopt_long", "getprotobyname", "getpwnam", "gets", "getservbyname", "getservbyport"
, "glob", "gmtime", "gmtime_r", "if", "index", "inet_addr", "inet_aton", "inet_network", "initgroups", "ioctl"
, "link", "localtime", "localtime_r"
, "lockf", "lseek", "lstat", "mblen", "mbstowcs", "mbtowc", "memchr", "memcmp", "memcpy", "memmove", "memset"
, "mkdir", "mkfifo", "mknod"
, "obstack_printf", "obstack_vprintf", "open", "opendir", "parse_printf_format", "pathconf"
, "perror", "popen" ,"posix_fadvise", "posix_fallocate", "pread"
, "printf", "psignal", "putenv", "puts", "pwrite", "qsort", "read", "readahead", "readdir", "readdir_r"
, "readlink", "readv"
, "realloc", "regcomp", "remove", "rename", "return", "rewind", "rewinddir", "rindex"
, "rmdir" ,"scandir", "scanf", "seekdir"
, "setbuf", "setbuffer", "sethostname", "setlinebuf", "setlocale" ,"setvbuf", "snprintf", "sprintf", "sscanf"
, "stat", "stpcpy", "strcasecmp", "strcat", "strchr", "strcmp", "strcoll"
, "strcpy", "strcspn", "strdup", "stricmp", "strlen", "strncasecmp", "strncat", "strncmp"
, "strncpy", "strpbrk","strrchr", "strspn", "strstr", "strtod", "strtol", "strtoul", "strxfrm", "switch"
, "symlink", "sync_file_range", "system", "telldir", "tempnam", "time", "typeid", "unlink"
, "utime", "utimes", "vasprintf", "vfprintf", "vfscanf", "vprintf"
, "vscanf", "vsnprintf", "vsprintf", "vsscanf", "while", "wordexp","write", "writev"
};
static int call_func_white_list_compare(const void *a, const void *b)

View File

@ -122,7 +122,7 @@ unsigned int CppCheck::check()
std::list<std::string> configurations;
std::string filedata = "";
if (_fileContents.size() > 0 && _fileContents.find(_filenames[c]) != _fileContents.end())
if ((!_fileContents.empty()) && (_fileContents.find(_filenames[c]) != _fileContents.end()))
{
// File content was given as a string
std::istringstream iss(_fileContents[ _filenames[c] ]);

View File

@ -555,28 +555,20 @@ SymbolDatabase::SymbolDatabase(const Tokenizer *tokenizer, const Settings *setti
// finish filling in base class info
for (unsigned int i = 0; i < scope->derivedFrom.size(); ++i)
{
std::list<Scope>::iterator it1;
std::list<Scope>::const_iterator it1;
// check all scopes for match
for (it1 = scopeList.begin(); it1 != scopeList.end(); ++it1)
{
Scope *scope1 = &(*it1);
// check scope for match
const Scope *scope1 = it1->findQualifiedScope(scope->derivedFrom[i].name);
/** @todo handle derived base classes and namespaces */
if (scope1->type == Scope::eClass || scope1->type == Scope::eStruct)
// found match?
if (scope1)
{
// do class names match?
if (scope1->className == scope->derivedFrom[i].name)
{
// are they in the same namespace or different namespaces with same name?
if ((scope1->nestedIn == scope->nestedIn) ||
((scope1->nestedIn && scope1->nestedIn->type == Scope::eNamespace) &&
(scope->nestedIn && scope->nestedIn->type == Scope::eNamespace) &&
(scope1->nestedIn->className == scope->nestedIn->className)))
{
scope->derivedFrom[i].scope = scope1;
break;
}
}
// set found scope
scope->derivedFrom[i].scope = const_cast<Scope *>(scope1);
break;
}
}
}
@ -1060,12 +1052,20 @@ const Token *SymbolDatabase::initBaseInfo(Scope *scope, const Token *tok)
{
Scope::BaseInfo base;
base.isVirtual = false;
tok2 = tok2->next();
// check for invalid code
if (!tok2 || !tok2->next())
return NULL;
if (tok2->str() == "virtual")
{
base.isVirtual = true;
tok2 = tok2->next();
}
if (tok2->str() == "public")
{
base.access = Public;
@ -1089,6 +1089,12 @@ const Token *SymbolDatabase::initBaseInfo(Scope *scope, const Token *tok)
base.access = Public;
}
if (tok2->str() == "virtual")
{
base.isVirtual = true;
tok2 = tok2->next();
}
// handle derived base classes
while (Token::Match(tok2, "%var% ::"))
{
@ -1760,6 +1766,34 @@ Scope * Scope::findInNestedListRecursive(const std::string & name)
//---------------------------------------------------------------------------
const Scope * Scope::findQualifiedScope(const std::string & name) const
{
if (type == Scope::eClass || type == Scope::eStruct || type == Scope::eNamespace)
{
if (name.compare(0, className.size(), className) == 0)
{
std::string path = name;
path.erase(0, className.size());
if (path.compare(0, 4, " :: ") == 0)
path.erase(0, 4);
else if (path.empty())
return this;
std::list<Scope *>::const_iterator it;
for (it = nestedList.begin() ; it != nestedList.end(); ++it)
{
const Scope *scope1 = (*it)->findQualifiedScope(path);
if (scope1)
return scope1;
}
}
}
return 0;
}
//---------------------------------------------------------------------------
const Function *Scope::getDestructor() const
{
std::list<Function>::const_iterator it;

View File

@ -369,6 +369,7 @@ public:
struct BaseInfo
{
AccessControl access; // public/protected/private
bool isVirtual;
std::string name;
Scope *scope;
};
@ -430,6 +431,8 @@ public:
*/
Scope * findInNestedListRecursive(const std::string & name);
const Scope * findQualifiedScope(const std::string & name) const;
void addVariable(const Token *token_, const Token *start_,
const Token *end_, AccessControl access_, bool mutable_,
bool static_, bool const_, bool class_, const Scope *type_,

View File

@ -384,21 +384,44 @@ bool Token::Match(const Token *tok, const char pattern[], unsigned int varid)
// Compare the first character of the string for optimization reasons
// before doing more detailed checks.
bool patternUnderstood = false;
if (p[0] == '%')
{
// TODO: %var% should match only for
// variables that have varId != 0, but that needs a lot of
// work, before that change can be made.
// Any symbolname..
if (firstWordEquals(p, "%var%") == 0)
switch (p[1])
{
if (!tok->isName())
return false;
p += 5;
}
case 'v':
// TODO: %var% should match only for
// variables that have varId != 0, but that needs a lot of
// work, before that change can be made.
// Any symbolname..
if (p[4] == '%') // %var%
{
if (!tok->isName())
return false;
p += 5;
patternUnderstood = true;
}
else // %varid%
{
if (varid == 0)
{
std::list<ErrorLogger::ErrorMessage::FileLocation> locationList;
const ErrorLogger::ErrorMessage errmsg(locationList,
Severity::error,
"Internal error. Token::Match called with varid 0.",
"cppcheckError");
Check::reportError(errmsg);
}
// Type..
else if (firstWordEquals(p, "%type%") == 0)
if (tok->varId() != varid)
return false;
p += 7;
patternUnderstood = true;
}
break;
case 't':
// Type (%type%)
{
if (!tok->isName())
return false;
@ -410,73 +433,71 @@ bool Token::Match(const Token *tok, const char pattern[], unsigned int varid)
return false;
p += 6;
patternUnderstood = true;
}
// Accept any token
else if (firstWordEquals(p, "%any%") == 0)
break;
case 'a':
// Accept any token (%any%)
{
p += 5;
patternUnderstood = true;
}
else if (firstWordEquals(p, "%varid%") == 0)
{
if (varid == 0)
{
std::list<ErrorLogger::ErrorMessage::FileLocation> locationList;
const ErrorLogger::ErrorMessage errmsg(locationList,
Severity::error,
"Internal error. Token::Match called with varid 0.",
"cppcheckError");
Check::reportError(errmsg);
}
if (tok->varId() != varid)
return false;
p += 7;
}
else if (firstWordEquals(p, "%num%") == 0)
break;
case 'n':
// Number (%num)
{
if (!tok->isNumber())
return false;
p += 5;
patternUnderstood = true;
}
else if (firstWordEquals(p, "%bool%") == 0)
{
if (!tok->isBoolean())
return false;
p += 6;
}
else if (firstWordEquals(p, "%str%") == 0)
break;
case 's':
// String (%str%)
{
if (tok->_str[0] != '\"')
return false;
p += 5;
patternUnderstood = true;
}
else if (firstWordEquals(p, "%or%") == 0)
break;
case 'b':
// Bool (%bool%)
{
if (tok->str() != "|")
return false;
p += 4;
}
else if (firstWordEquals(p, "%oror%") == 0)
{
if (tok->str() != "||")
if (!tok->isBoolean())
return false;
p += 6;
patternUnderstood = true;
}
break;
case 'o':
// Or (%or%)
if (p[3] == '%')
{
if (tok->str() != "|")
return false;
p += 4;
patternUnderstood = true;
}
// Oror (%oror%)
else
{
if (tok->str() != "||")
return false;
p += 6;
patternUnderstood = true;
}
break;
default:
if (firstWordEquals(p, tok->_str.c_str()))
{
p += tok->_str.length();
patternUnderstood = true;
}
break;
}
else if (firstWordEquals(p, tok->_str.c_str()))
{
p += tok->_str.length();
}
else
if (!patternUnderstood)
{
return false;
}

View File

@ -3468,7 +3468,8 @@ void Tokenizer::setVarId()
tok2 = tok2->next();
again = true;
}
else if (level > 1 && Token::Match(tok2, "%type% *|&| >"))
else if (level > 1 && (Token::Match(tok2, "%type% *|&| >") ||
Token::Match(tok2, "%num% >")))
{
--level;
while (tok2->str() != ">")
@ -9316,7 +9317,7 @@ void Tokenizer::simplifyBitfields()
Token *last = 0;
if (Token::Match(tok, ";|{|}|public:|protected:|private: const| %type% %var% :") &&
!Token::Match(tok->next(), "case|public|protected|private"))
!Token::Match(tok->next(), "case|public|protected|private|class|struct"))
{
int offset = 0;
if (tok->next()->str() == "const")

View File

@ -19,16 +19,12 @@ include(../lib/lib.pri)
SOURCES += ../cli/cmdlineparser.cpp \
../cli/cppcheckexecutor.cpp \
../cli/filelister.cpp \
../cli/filelister_unix.cpp \
../cli/filelister_win32.cpp \
../cli/pathmatch.cpp \
../cli/threadexecutor.cpp \
testpathmatch.cpp
HEADERS += ../cli/cmdlineparser.h \
../cli/cppcheckexecutor.h \
../cli/filelister.h \
../cli/filelister_unix.h \
../cli/filelister_win32.h \
../cli/pathmatch.h \
../cli/threadexecutor.h

View File

@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="9,00"
Name="test"
ProjectGUID="{E690724D-4286-3049-8439-595D1CB80EAB}"
ProjectGUID="{4B6CBD22-5689-3C50-A5A4-1204D4D28E54}"
Keyword="Qt4VSv1.0">
<Platforms>
<Platform
@ -19,7 +19,7 @@
UseOfMfc="0">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\cli&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,c:\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\cli&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,..\..\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalOptions="-Zm200 -w34100 -w34189"
AssemblerListingLocation="temp\"
BufferSecurityCheck="false"
@ -72,7 +72,7 @@
UseOfMfc="0">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\cli&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,c:\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalIncludeDirectories="&quot;.&quot;,&quot;..\cli&quot;,&quot;..\lib&quot;,&quot;..\externals&quot;,&quot;..\externals\tinyxml&quot;,..\..\Qt\VS4.7.0\mkspecs\win32-msvc2008"
AdditionalOptions="-Zm200 -w34100 -w34189"
AssemblerListingLocation="temp\"
BufferSecurityCheck="false"
@ -159,10 +159,6 @@
RelativePath="..\lib\executionpath.cpp" />
<File
RelativePath="..\cli\filelister.cpp" />
<File
RelativePath="..\cli\filelister_unix.cpp" />
<File
RelativePath="..\cli\filelister_win32.cpp" />
<File
RelativePath="..\lib\mathlib.cpp" />
<File
@ -304,10 +300,6 @@
RelativePath="..\lib\executionpath.h" />
<File
RelativePath="..\cli\filelister.h" />
<File
RelativePath="..\cli\filelister_unix.h" />
<File
RelativePath="..\cli\filelister_win32.h" />
<File
RelativePath="..\lib\mathlib.h" />
<File

View File

@ -11,7 +11,7 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{597BA843-2D03-3F45-AB51-2E1DF1EA5136}</ProjectGuid>
<ProjectGuid>{B0719A50-6567-3359-B337-92D9F9DDE38A}</ProjectGuid>
<RootNamespace>test</RootNamespace>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
@ -50,7 +50,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|Win32&apos;">
<ClCompile>
<AdditionalIncludeDirectories>".";"..\cli";"..\lib";"..\externals";"..\externals\tinyxml";c:\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>".";"..\cli";"..\lib";"..\externals";"..\externals\tinyxml";..\..\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zm200 -w34100 -w34189 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>temp\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -84,7 +84,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|Win32&apos;">
<ClCompile>
<AdditionalIncludeDirectories>".";"..\cli";"..\lib";"..\externals";"..\externals\tinyxml";c:\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>".";"..\cli";"..\lib";"..\externals";"..\externals\tinyxml";..\..\Qt\VS4.7.0\mkspecs\win32-msvc2010;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zm200 -w34100 -w34189 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>temp\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -135,8 +135,6 @@
<ClCompile Include="..\lib\errorlogger.cpp" />
<ClCompile Include="..\lib\executionpath.cpp" />
<ClCompile Include="..\cli\filelister.cpp" />
<ClCompile Include="..\cli\filelister_unix.cpp" />
<ClCompile Include="..\cli\filelister_win32.cpp" />
<ClCompile Include="..\lib\mathlib.cpp" />
<ClCompile Include="options.cpp" />
<ClCompile Include="..\lib\path.cpp" />
@ -207,8 +205,6 @@
<ClInclude Include="..\lib\errorlogger.h" />
<ClInclude Include="..\lib\executionpath.h" />
<ClInclude Include="..\cli\filelister.h" />
<ClInclude Include="..\cli\filelister_unix.h" />
<ClInclude Include="..\cli\filelister_win32.h" />
<ClInclude Include="..\lib\mathlib.h" />
<ClInclude Include="options.h" />
<ClInclude Include="..\lib\path.h" />

View File

@ -65,12 +65,6 @@
<ClCompile Include="..\cli\filelister.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\cli\filelister_unix.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\cli\filelister_win32.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\mathlib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -277,12 +271,6 @@
<ClInclude Include="..\cli\filelister.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\cli\filelister_unix.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\cli\filelister_win32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\mathlib.h">
<Filter>Header Files</Filter>
</ClInclude>

View File

@ -165,6 +165,9 @@ private:
TEST_CASE(const42); // ticket #2282
TEST_CASE(const43); // ticket #2377
TEST_CASE(const44); // ticket #2595
TEST_CASE(const45); // ticket #2664
TEST_CASE(const46); // ticket #2636
TEST_CASE(const47); // ticket #2670
TEST_CASE(assigningPointerToPointerIsNotAConstOperation);
TEST_CASE(assigningArrayElementIsNotAConstOperation);
TEST_CASE(constoperator1); // operator< can often be const
@ -5191,6 +5194,62 @@ private:
ASSERT_EQUALS("", errout.str());
}
void const45() // ticket 2664
{
checkConst("namespace wraps {\n"
" class BaseLayout {};\n"
"}\n"
"namespace tools {\n"
" class WorkspaceControl :\n"
" public wraps::BaseLayout\n"
" {\n"
" int toGrid(int _value)\n"
" {\n"
" }\n"
" };\n"
"}\n");
ASSERT_EQUALS("[test.cpp:8]: (information) Technically the member function 'tools::WorkspaceControl::toGrid' can be const.\n", errout.str());
}
void const46() // ticket 2663
{
checkConst("class Altren {\n"
"public:\n"
" int fun1() {\n"
" int a;\n"
" a++;\n"
" }\n"
" int fun2() {\n"
" b++;\n"
" }\n"
"}\n");
ASSERT_EQUALS("[test.cpp:3]: (information) Technically the member function 'Altren::fun1' can be const.\n"
"[test.cpp:7]: (information) Technically the member function 'Altren::fun2' can be const.\n", errout.str());
}
void const47() // ticket 2670
{
checkConst("class Altren {\n"
"public:\n"
" void foo() { delete this; }\n"
" void foo(int i) const { }\n"
" void bar() { foo(); }\n"
"}\n");
ASSERT_EQUALS("", errout.str());
checkConst("class Altren {\n"
"public:\n"
" void foo() { delete this; }\n"
" void foo(int i) const { }\n"
" void bar() { foo(1); }\n"
"}\n");
ASSERT_EQUALS("[test.cpp:5]: (information) Technically the member function 'Altren::bar' can be const.\n", errout.str());
}
void assigningPointerToPointerIsNotAConstOperation()
{
checkConst("struct s\n"

View File

@ -18,9 +18,7 @@
#include "testsuite.h"
#define private public
#include "filelister_unix.h"
#include "filelister.h"
class TestFileLister: public TestFixture
{
@ -32,16 +30,18 @@ public:
private:
void run()
{
#ifndef _WIN32
TEST_CASE(test_recursiveAddFiles2);
#endif
}
#ifndef _WIN32
void test_recursiveAddFiles2()
{
std::vector<std::string> relative, absolute;
FileListerUnix ful;
ful.recursiveAddFiles2(relative, absolute, ".");
FileLister::recursiveAddFiles2(relative, absolute, ".");
ASSERT(relative.size() != 0);
ASSERT(!relative.empty());
ASSERT_EQUALS((int)relative.size(), (int)absolute.size());
for (std::vector<std::string>::const_iterator r = relative.begin(), r_end = relative.end(),
@ -56,6 +56,7 @@ private:
ASSERT_EQUALS(r->substr(start_at_relative), a->substr(start_at_absolute));
}
}
#endif
};
REGISTER_TEST(TestFileLister)

View File

@ -228,6 +228,9 @@ private:
TEST_CASE(func18);
TEST_CASE(func19); // Ticket #2056 - if (!f(p)) return 0;
TEST_CASE(func20); // Ticket #2182 - exit is not handled
TEST_CASE(func21); // Ticket #2569
TEST_CASE(func22); // Ticket #2668
TEST_CASE(func23); // Ticket #2667
TEST_CASE(allocfunc1);
TEST_CASE(allocfunc2);
@ -564,18 +567,27 @@ private:
static const char * const call_func_white_list[] =
{
"asprintf", "atof", "atoi", "atol", "clearerr", "delete", "fchmod", "fcntl"
, "fdatasync", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets"
, "flock", "for", "fprintf", "fputc", "fputs", "fread", "free", "fscanf", "fseek"
"access", "asprintf", "atof", "atoi", "atol", "chdir", "chmod", "clearerr", "chown", "delete"
, "fchmod", "fcntl", "fdatasync", "feof", "ferror", "fflush", "fgetc", "fgetpos", "fgets"
, "flock", "for", "fprintf", "fputc", "fputs", "fread", "free", "freopen", "fscanf", "fseek"
, "fseeko", "fsetpos", "fstat", "fsync", "ftell", "ftello", "ftruncate"
, "fwrite", "getc", "if", "ioctl", "lockf", "lseek", "memchr", "memcpy"
, "memmove", "memset", "posix_fadvise", "posix_fallocate", "pread"
, "fwrite", "getc", "if", "ioctl", "lockf", "lseek", "open", "memchr", "memcpy"
, "memmove", "memset", "perror", "posix_fadvise", "posix_fallocate", "pread"
, "printf", "puts", "pwrite", "read", "readahead", "readdir", "readdir_r", "readv"
, "realloc", "return", "rewind", "rewinddir", "scandir", "seekdir"
, "setbuf", "setbuffer", "setlinebuf", "setvbuf", "snprintf", "sprintf", "strcasecmp"
, "setbuf", "setbuffer", "setlinebuf", "setvbuf", "snprintf", "sprintf", "stpcpy", "strcasecmp"
, "strcat", "strchr", "strcmp", "strcpy", "stricmp", "strlen", "strncat", "strncmp"
, "strncpy", "strrchr", "strstr", "strtod", "strtol", "strtoul", "switch"
, "sync_file_range", "telldir", "typeid", "while", "write", "writev"
, "strncpy", "strrchr", "strspn" ,"strstr", "strtod", "strtol", "strtoul", "switch"
, "sync_file_range", "telldir", "typeid", "while", "write", "writev", "lstat", "stat"
, "_open", "_wopen", "vscanf", "vsscanf", "vfscanf", "vasprintf", "utime", "utimes", "unlink"
, "tempnam", "system", "symlink", "strpbrk", "strncasecmp", "strdup", "strcspn", "strcoll"
, "setlocale", "sethostname", "rmdir", "rindex", "rename", "remove", "adjtime", "creat", "execle"
, "execl", "execlp", "execve", "execv", "fdopen", "fmemopen", "fnmatch", "fopencookie", "fopen"
, "getgrnam", "gethostbyaddr", "getnetbyname", "getopt", "getopt_long", "getprotobyname", "getpwnam"
, "getservbyname", "getservbyport", "glob", "index", "inet_addr", "inet_aton", "inet_network"
, "initgroups", "link", "mblen", "mbstowcs", "mbtowc", "mkdir", "mkfifo", "mknod", "obstack_printf"
, "obstack_vprintf", "opendir", "parse_printf_format", "pathconf", "popen", "psignal", "putenv"
, "readlink", "regcomp", "strxfrm", "wordexp"
};
for (unsigned int i = 0; i < (sizeof(call_func_white_list) / sizeof(char *)); ++i)
@ -1731,8 +1743,442 @@ private:
ASSERT_EQUALS("", errout.str());
}
//# Ticket 2569
void func21()
{
// checking for lstat function:
// ----------------------------
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if (lstat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if (lstat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:11]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if (lstat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" delete [] cpFile;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
/// checking for stat function:
// ----------------------------
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if ( stat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if ( stat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:11]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if ( stat (cpFile, &CFileAttr) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" delete [] cpFile;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// checking for access function
// http://www.gnu.org/s/libc/manual/html_node/Testing-File-Access.html
// --------------------------------------------------------------------
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if ( access (cpFile, R_OK) != 0)\n"
" {\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if (access (cpFile, R_OK) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:11]: (error) Memory leak: cpFile\n", errout.str());
check("void foo ()\n"
"{\n"
" struct stat CFileAttr;\n"
" char *cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if (access (cpFile, R_OK) != 0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" delete [] cpFile;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// checking for chdir function
// http://home.fhtw-berlin.de/~junghans/cref/MAN/chdir.htm
// --------------------------------------------------------
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chdir (cpDir) != 0)\n"
" {\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:7]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chdir (cpDir) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chdir (cpDir) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// checking for chmod function
// http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/rtchm.htm
// ------------------------------------------------------------------------------------------------------
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chmod(cpDir, S_IRWXU|S_IRWXG) != 0)\n"
" {\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:7]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chmod(cpDir, S_IRWXU|S_IRWXG) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chmod(cpDir, S_IRWXU|S_IRWXG) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// checking for chown function
// http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/rtchm.htm
// ------------------------------------------------------------------------------------------------------
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chown(cpDir, 25, 0) != 0)\n"
" {\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:7]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chown(cpDir, 25, 0) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" return;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:10]: (error) Memory leak: cpDir\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpDir = new char [7];\n"
" strcpy (cpDir, \"/home/\");\n"
" if (chown(cpDir, 25, 0) != 0)\n"
" {\n"
" delete [] cpDir;\n"
" return;\n"
" }\n"
" delete [] cpDir;\n"
" return;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// checking perror
//http://www.cplusplus.com/reference/clibrary/cstdio/perror/
// ---------------------------------------------------------
check("void foo()\n"
"{\n"
" char *cBuf = new char[11];\n"
" sprintf(cBuf,\"%s\",\"testtest..\");\n"
" perror (cBuf);\n"
" delete [] cBuf;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
check("void foo()\n"
"{\n"
" char *cBuf = new char[11];\n"
" sprintf(cBuf,\"%s\",\"testtest..\");\n"
" perror (cBuf);\n"
"}\n");
ASSERT_EQUALS("[test.cpp:6]: (error) Memory leak: cBuf\n", errout.str());
}
// # 2668
void func22()
{
check("void foo()\n"
"{\n"
" char * cpFile;\n"
" cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if(freopen(cpFile,\"w\",stdout)==0)\n"
" {\n"
" return;\n"
" }\n"
" delete [] cpFile;\n"
" fclose (stdout);\n"
"}\n");
ASSERT_EQUALS("[test.cpp:8]: (error) Memory leak: cpFile\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpFile;\n"
" cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if(freopen(cpFile,\"w\",stdout)==0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" fclose (stdout);\n"
"}\n");
ASSERT_EQUALS("[test.cpp:12]: (error) Memory leak: cpFile\n", errout.str());
check("void foo()\n"
"{\n"
" char * cpFile;\n"
" cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" if(freopen(cpFile,\"w\",stdout)==0)\n"
" {\n"
" delete [] cpFile;\n"
" return;\n"
" }\n"
" delete [] cpFile;\n"
" fclose (stdout);\n"
"}\n");
ASSERT_EQUALS("", errout.str());
}
// # 2667
void func23()
{
// check open() function
// ----------------------
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=open(cpFile,O_RDONLY);\n"
" if(file < -1)\n"
" {\n"
" return file;\n"
" }\n"
" delete [] cpFile;\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:8]: (error) Memory leak: cpFile\n", errout.str());
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=open(cpFile,O_RDONLY);\n"
" if(file < -1)\n"
" {\n"
" delete [] cpFile;\n"
" return file;\n"
" }\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:11]: (error) Memory leak: cpFile\n", errout.str());
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=open(cpFile,O_RDONLY);\n"
" if(file < -1)\n"
" {\n"
" delete [] cpFile;\n"
" return file;\n"
" }\n"
" delete [] cpFile;\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
// check for _open, _wopen
// http://msdn.microsoft.com/en-us/library/z0kc8e3z(VS.80).aspx
// -------------------------------------------------------------
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=_open(cpFile,_O_RDONLY);\n"
" if(file == -1)\n"
" {\n"
" return file;\n"
" }\n"
" delete [] cpFile;\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:8]: (error) Memory leak: cpFile\n", errout.str());
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=_open(cpFile,_O_RDONLY);\n"
" if(file == -1)\n"
" {\n"
" delete [] cpFile;\n"
" return file;\n"
" }\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("[test.cpp:11]: (error) Memory leak: cpFile\n", errout.str());
check("int * foo()\n"
"{\n"
" char * cpFile = new char [13];\n"
" strcpy (cpFile, \"testfile.txt\");\n"
" int file=_open(cpFile,_O_RDONLY);\n"
" if(file == -1)\n"
" {\n"
" delete [] cpFile;\n"
" return file;\n"
" }\n"
" delete [] cpFile;\n"
" return file;\n"
"}\n");
ASSERT_EQUALS("", errout.str());
}
void allocfunc1()
{

View File

@ -171,6 +171,7 @@ private:
TEST_CASE(varid26); // ticket #1967 (list of function pointers)
TEST_CASE(varid27); // Ticket #2280 (same name for namespace and variable)
TEST_CASE(varid28); // ticket #2630
TEST_CASE(varid29); // ticket #1974
TEST_CASE(varidFunctionCall1);
TEST_CASE(varidFunctionCall2);
TEST_CASE(varidFunctionCall3);
@ -291,6 +292,7 @@ private:
TEST_CASE(bitfields5); // ticket #1956
TEST_CASE(bitfields6); // ticket #2595
TEST_CASE(bitfields7); // ticket #1987
TEST_CASE(bitfields8);
TEST_CASE(microsoftMFC);
@ -2829,6 +2831,18 @@ private:
ASSERT_EQUALS("", errout.str());
}
void varid29()
{
const std::string code("class A {\n"
" B<C<1>,1> b;\n"
"};\n");
const std::string expected("\n\n##file 0\n"
"1: class A {\n"
"2: B < C < 1 > , 1 > b@1 ;\n"
"3: } ;\n");
ASSERT_EQUALS(expected, tokenizeDebugListing(code));
}
void varidFunctionCall1()
{
const std::string code("void f() {\n"
@ -5300,6 +5314,22 @@ private:
ASSERT_EQUALS("", errout.str());
}
void bitfields8()
{
const char code[] = "struct A;"
"class B : virtual public C"
"{"
" int f();"
"};";
const char expected[] = "struct A ; "
"class B : virtual public C "
"{ "
"int f ( ) ; "
"} ;";
ASSERT_EQUALS(expected, tokenizeAndStringify(code,false));
ASSERT_EQUALS("", errout.str());
}
void microsoftMFC()
{
const char code1[] = "class MyDialog : public CDialog { DECLARE_MESSAGE_MAP() private: CString text; };";

View File

@ -25,11 +25,7 @@
#include <vector>
#include <sstream>
#if defined(_WIN32)
#include "../cli/filelister_win32.h"
#else // POSIX-style system
#include "../cli/filelister_unix.h"
#endif
#include "../cli/filelister.h"
std::string objfile(std::string cppfile)
{
@ -88,7 +84,7 @@ static void compilefiles(std::ostream &fout, const std::vector<std::string> &fil
static void getCppFiles(std::vector<std::string> &files, const std::string &path)
{
getFileLister()->recursiveAddFiles(files, path);
FileLister::recursiveAddFiles(files, path);
// only get *.cpp files..
for (std::vector<std::string>::iterator it = files.begin(); it != files.end();)
{
@ -280,14 +276,14 @@ int main(int argc, char **argv)
fout << "cppcheck: $(LIBOBJ) $(CLIOBJ) $(EXTOBJ)\n";
fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o cppcheck $(CLIOBJ) $(LIBOBJ) $(EXTOBJ) -lpcre $(LDFLAGS)\n\n";
fout << "all:\tcppcheck testrunner\n\n";
fout << "testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o cli/filelister_unix.o cli/pathmatch.o\n";
fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o testrunner $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) -lpcre cli/threadexecutor.o cli/cmdlineparser.o cli/filelister.o cli/filelister_unix.o cli/pathmatch.o $(LDFLAGS)\n\n";
fout << "testrunner: $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) cli/threadexecutor.o cli/cmdlineparser.o cli/cppcheckexecutor.o cli/filelister.o cli/pathmatch.o\n";
fout << "\t$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o testrunner $(TESTOBJ) $(LIBOBJ) $(EXTOBJ) -lpcre cli/threadexecutor.o cli/cmdlineparser.o cli/filelister.o cli/pathmatch.o $(LDFLAGS)\n\n";
fout << "test:\tall\n";
fout << "\t./testrunner\n\n";
fout << "check:\tall\n";
fout << "\t./testrunner -g -q\n\n";
fout << "dmake:\ttools/dmake.cpp\n";
fout << "\t$(CXX) -o dmake tools/dmake.cpp cli/filelister*.cpp lib/path.cpp -Ilib\n\n";
fout << "\t$(CXX) -o dmake tools/dmake.cpp cli/filelister.cpp lib/path.cpp -Ilib\n\n";
fout << "clean:\n";
#ifdef _WIN32
fout << "\tdel lib\*.o\n\tdel cli\*.o\n\tdel test\*.o\n\tdel *.exe\n";

9
win_installer/cppcheck.wxs Executable file → Normal file
View File

@ -48,7 +48,7 @@
<File Id='cppcheck_nl.qm' Name='cppcheck_nl.qm' Source='$(var.TranslationsDir)\cppcheck_nl.qm' />
<File Id='cppcheck_pl.qm' Name='cppcheck_pl.qm' Source='$(var.TranslationsDir)\cppcheck_pl.qm' />
<File Id='cppcheck_ru.qm' Name='cppcheck_ru.qm' Source='$(var.TranslationsDir)\cppcheck_ru.qm' />
<File Id='cppcheck_se.qm' Name='cppcheck_se.qm' Source='$(var.TranslationsDir)\cppcheck_se.qm' />
<File Id='cppcheck_sv.qm' Name='cppcheck_sv.qm' Source='$(var.TranslationsDir)\cppcheck_sv.qm' />
<File Id='cppcheck_sr.qm' Name='cppcheck_sr.qm' Source='$(var.TranslationsDir)\cppcheck_sr.qm' />
</Component>
<Component Id='BaseDocs' Guid='$(var.basedocsGUID)'>
@ -58,13 +58,16 @@
<Component Id='GuiHelp' Guid='*'>
<File Id='onlinehelp.qhc' Name='online-help.qhc' DiskId='1' Source='$(var.HelpDir)\online-help.qhc' KeyPath='yes' />
</Component>
<!-- Cleanup runtime files installed by previous InnoSetup installer
Also remove old gui.exe which is now cppcheck-gui.exe -->
<!-- Cleanup runtime files installed by previous InnoSetup installer.
Also remove old gui.exe which is now cppcheck-gui.exe.
Remove old Swedish translation file which was renamed. -->
<Component Id='InnoSetupCleanup' Guid='4A3F299D-1EE1-468b-814B-D6577F0698CA'>
<RemoveFile Id="msvcp90.dll" On="install" Name="msvcp90.dll" />
<RemoveFile Id="msvcr90.dll" On="install" Name="msvcr90.dll" />
<RemoveFile Id="Microsoft.VC90.CRT.manifest" On="install" Name="Microsoft.VC90.CRT.manifest" />
<RemoveFile Id="gui.exe" On="install" Name="gui.exe" />
<RemoveFile Id="cppcheck_se.qm" On="install" Name="cppcheck_se.qm" />
</Component>
</Directory>
<Merge Id="CRT" Language="0" SourceFile="$(var.CrtMergeModule)" DiskId="1" />

0
win_installer/productInfo.wxi Executable file → Normal file
View File