Skip to content

Commit 4524397

Browse files
committed
use FileSettings::hash to distinguish dump files
1 parent bbf5ae5 commit 4524397

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

lib/cppcheck.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -331,13 +331,13 @@ static std::vector<std::string> split(const std::string &str, const std::string
331331
return ret;
332332
}
333333

334-
static std::string getDumpFileName(const Settings& settings, const std::string& filename)
334+
static std::string getDumpFileName(const Settings& settings, const std::string& filename, std::string cfgHash = "")
335335
{
336336
std::string extension;
337-
if (settings.dump || !settings.buildDir.empty())
337+
if ((settings.dump || !settings.buildDir.empty()) && !cfgHash.empty())
338338
extension = ".dump";
339339
else
340-
extension = "." + std::to_string(settings.pid) + ".dump";
340+
extension = "." + cfgHash + ".dump";
341341

342342
if (!settings.dump && !settings.buildDir.empty())
343343
return AnalyzerInformation::getAnalyzerInfoFile(settings.buildDir, filename, "") + extension;
@@ -352,11 +352,12 @@ static std::string getCtuInfoFileName(const std::string &dumpFile)
352352
static void createDumpFile(const Settings& settings,
353353
const FileWithDetails& file,
354354
std::ofstream& fdump,
355-
std::string& dumpFile)
355+
std::string& dumpFile,
356+
std::string cfgHash = "")
356357
{
357358
if (!settings.dump && settings.addons.empty())
358359
return;
359-
dumpFile = getDumpFileName(settings, file.spath());
360+
dumpFile = getDumpFileName(settings, file.spath(), cfgHash);
360361

361362
fdump.open(dumpFile);
362363
if (!fdump.is_open())
@@ -1063,7 +1064,7 @@ unsigned int CppCheck::checkFile(const FileWithDetails& file, const std::string
10631064
// write dump file xml prolog
10641065
std::ofstream fdump;
10651066
std::string dumpFile;
1066-
createDumpFile(mSettings, file, fdump, dumpFile);
1067+
createDumpFile(mSettings, file, fdump, dumpFile, cfgHash);
10671068
if (fdump.is_open()) {
10681069
fdump << getLibraryDumpData();
10691070
fdump << dumpProlog;

0 commit comments

Comments
 (0)