Skip to content

Commit 8910bae

Browse files
committed
Fixed danmar#5137 (Defining empty macro from commandline does not seem to work)
1 parent bcc8384 commit 8910bae

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

cli/cmdlineparser.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,6 @@ bool CmdLineParser::ParseFromArgs(int argc, const char* const argv[])
377377
if (define.find("=") == std::string::npos)
378378
define += "=1";
379379

380-
// DEF= => empty define
381-
else if (define.find("=") + 1U == define.size())
382-
define.erase(define.size() - 1U);
383-
384380
if (!_settings->userDefines.empty())
385381
_settings->userDefines += ";";
386382
_settings->userDefines += define;

test/testcmdlineparser.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,10 @@ class TestCmdlineParser : public TestFixture {
346346

347347
void defines4() {
348348
REDIRECT;
349-
const char *argv[] = {"cppcheck", "-DDEBUG=", "file.cpp"};
349+
const char *argv[] = {"cppcheck", "-DDEBUG=", "file.cpp"}; // #5137 - defining empty macro
350350
settings.userDefines.clear();
351351
ASSERT(defParser.ParseFromArgs(3, argv));
352-
ASSERT_EQUALS("DEBUG", settings.userDefines);
352+
ASSERT_EQUALS("DEBUG=", settings.userDefines);
353353
}
354354

355355
void enforceLanguage() {

0 commit comments

Comments
 (0)