@@ -78,9 +78,8 @@ CppCheckExecutor::~CppCheckExecutor()
78
78
delete mErrorOutput ;
79
79
}
80
80
81
- bool CppCheckExecutor::parseFromArgs (CppCheck *cppcheck , int argc, const char * const argv[])
81
+ bool CppCheckExecutor::parseFromArgs (Settings &settings , int argc, const char * const argv[])
82
82
{
83
- Settings& settings = cppcheck->settings ();
84
83
CmdLineParser parser (settings);
85
84
const bool success = parser.parseFromArgs (argc, argv);
86
85
@@ -199,23 +198,20 @@ int CppCheckExecutor::check(int argc, const char* const argv[])
199
198
{
200
199
CheckUnusedFunctions::clear ();
201
200
202
- CppCheck cppCheck (*this , true , executeCommand);
203
-
204
- const Settings& settings = cppCheck.settings ();
205
- mSettings = &settings;
206
-
207
- if (!parseFromArgs (&cppCheck, argc, argv)) {
208
- mSettings = nullptr ;
201
+ Settings settings;
202
+ if (!parseFromArgs (settings, argc, argv)) {
209
203
return EXIT_FAILURE;
210
204
}
211
205
if (Settings::terminated ()) {
212
- mSettings = nullptr ;
213
206
return EXIT_SUCCESS;
214
207
}
215
208
216
- int ret;
209
+ CppCheck cppCheck (*this , true , executeCommand);
210
+ cppCheck.settings () = settings;
211
+ mSettings = &settings;
217
212
218
- if (cppCheck.settings ().exceptionHandling )
213
+ int ret;
214
+ if (settings.exceptionHandling )
219
215
ret = check_wrapper (cppCheck);
220
216
else
221
217
ret = check_internal (cppCheck);
0 commit comments