diff --git a/src/CmdLineOptParser.cc b/src/CmdLineOptParser.cc index ac125d228342996993d7a3cf94543aad2a3fb621..e811be6d454810c118185cf605452b29ee1b7f14 100644 --- a/src/CmdLineOptParser.cc +++ b/src/CmdLineOptParser.cc @@ -51,7 +51,9 @@ void ParseCmdLineOptions(int& argc, ///< count of ar if (arg.startsWith(QString("%1:").arg(optionStr), Qt::CaseInsensitive)) { found = true; - prgOpts[iOption].optionArg = arg.right(arg.length() - (optionStr.length() + 1)); + if (prgOpts[iOption].optionArg) { + *prgOpts[iOption].optionArg = arg.right(arg.length() - (optionStr.length() + 1)); + } } else if (arg.compare(optionStr, Qt::CaseInsensitive) == 0) { found = true; } diff --git a/src/CmdLineOptParser.h b/src/CmdLineOptParser.h index c5a1362eddb1a3d12b12bfe1bdf18778cbc70cf5..c0402d62f2cca9757ff21bf432af36fbbdad71c0 100644 --- a/src/CmdLineOptParser.h +++ b/src/CmdLineOptParser.h @@ -36,7 +36,7 @@ typedef struct { const char* optionStr; ///< command line option, for example "--foo" bool* optionFound; ///< if option is found this variable will be set to true - QString optionArg; ///< Option has additional argument, form is option:arg + QString* optionArg; ///< Option has additional argument, form is option:arg } CmdLineOpt_t; void ParseCmdLineOptions(int& argc, diff --git a/src/main.cc b/src/main.cc index 3a1a4bf584970bd95eab2349c0019306302b405d..510078d276efcb1591e75f2c93c7e4f3a87fadae 100644 --- a/src/main.cc +++ b/src/main.cc @@ -135,9 +135,10 @@ int main(int argc, char *argv[]) bool quietWindowsAsserts = false; // Don't let asserts pop dialog boxes + QString unitTestOptions; CmdLineOpt_t rgCmdLineOptions[] = { - { "--unittest", &runUnitTests, QString() }, - { "--no-windows-assert-ui", &quietWindowsAsserts, QString() }, + { "--unittest", &runUnitTests, &unitTestOptions }, + { "--no-windows-assert-ui", &quietWindowsAsserts, NULL }, // Add additional command line option flags here }; @@ -181,7 +182,7 @@ int main(int argc, char *argv[]) } // Run the test - int failures = UnitTest::run(rgCmdLineOptions[0].optionArg); + int failures = UnitTest::run(unitTestOptions); if (failures == 0) { qDebug() << "ALL TESTS PASSED"; } else {