cmdlineparser: allow space between -D and define name. ticket: #2036
This commit is contained in:
parent
3c8ffb90dd
commit
ad03c97a6e
|
@ -182,7 +182,10 @@ bool CmdLineParser::ParseFromArgs(int argc, const char* const argv[])
|
||||||
{
|
{
|
||||||
if (!_settings->userDefines.empty())
|
if (!_settings->userDefines.empty())
|
||||||
_settings->userDefines += ";";
|
_settings->userDefines += ";";
|
||||||
_settings->userDefines += 2 + argv[i];
|
if (strcmp(argv[i], "-D") == 0)
|
||||||
|
_settings->userDefines += argv[++i];
|
||||||
|
else
|
||||||
|
_settings->userDefines += 2 + argv[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Include paths
|
// Include paths
|
||||||
|
|
|
@ -85,6 +85,7 @@ private:
|
||||||
TEST_CASE(quietlong);
|
TEST_CASE(quietlong);
|
||||||
TEST_CASE(defines);
|
TEST_CASE(defines);
|
||||||
TEST_CASE(defines2);
|
TEST_CASE(defines2);
|
||||||
|
TEST_CASE(defines3);
|
||||||
TEST_CASE(includesnopath);
|
TEST_CASE(includesnopath);
|
||||||
TEST_CASE(includes);
|
TEST_CASE(includes);
|
||||||
TEST_CASE(includes2);
|
TEST_CASE(includes2);
|
||||||
|
@ -262,6 +263,16 @@ private:
|
||||||
ASSERT_EQUALS("_WIN32;NODEBUG", settings.userDefines);
|
ASSERT_EQUALS("_WIN32;NODEBUG", settings.userDefines);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void defines3()
|
||||||
|
{
|
||||||
|
REDIRECT;
|
||||||
|
const char *argv[] = {"cppcheck", "-D", "DEBUG", "file.cpp"};
|
||||||
|
Settings settings;
|
||||||
|
CmdLineParser parser(&settings);
|
||||||
|
ASSERT(parser.ParseFromArgs(4, argv));
|
||||||
|
ASSERT_EQUALS("DEBUG", settings.userDefines);
|
||||||
|
}
|
||||||
|
|
||||||
void includesnopath()
|
void includesnopath()
|
||||||
{
|
{
|
||||||
REDIRECT;
|
REDIRECT;
|
||||||
|
|
Loading…
Reference in New Issue