Skip to content

Commit d9a3761

Browse files
committed
Merge pull request cppcheck-opensource#331 from Dmitry-Me/DontExitInTheMiddle
Should not call std::exit() in the middle of program
2 parents 8fe515b + 738d05b commit d9a3761

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

cli/cppcheckexecutor.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,12 @@ bool CppCheckExecutor::parseFromArgs(CppCheck *cppcheck, int argc, const char* c
8181
std::cout << ErrorLogger::ErrorMessage::getXMLFooter(settings._xml_version) << std::endl;
8282
}
8383

84-
if (parser.ExitAfterPrinting())
85-
std::exit(EXIT_SUCCESS);
84+
if (parser.ExitAfterPrinting()) {
85+
settings.terminate();
86+
return true;
87+
}
8688
} else {
87-
std::exit(EXIT_FAILURE);
89+
return false;
8890
}
8991

9092
// Check that all include paths exist
@@ -173,6 +175,9 @@ int CppCheckExecutor::check(int argc, const char* const argv[])
173175
if (!parseFromArgs(&cppCheck, argc, argv)) {
174176
return EXIT_FAILURE;
175177
}
178+
if (settings.terminated()) {
179+
return EXIT_SUCCESS;
180+
}
176181

177182
if (cppCheck.settings().exceptionHandling) {
178183
return check_wrapper(cppCheck, argc, argv);

0 commit comments

Comments
 (0)