summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
diff options
context:
space:
mode:
authorOleksandr Koval <oleksandr.koval.dev@gmail.com>2020-09-09 12:49:35 (GMT)
committerOleksandr Koval <oleksandr.koval.dev@gmail.com>2020-09-09 12:49:35 (GMT)
commit62d7acc6d4f2e4563b5a71d6e5c90352bf732c79 (patch)
tree8da5b452aeb392d31f817a4b1655f671d7534d26 /Source/cmMakefile.cxx
parent9a0a5f84208f652d3ce84e141adf7e9b304574cb (diff)
downloadCMake-62d7acc6d4f2e4563b5a71d6e5c90352bf732c79.zip
CMake-62d7acc6d4f2e4563b5a71d6e5c90352bf732c79.tar.gz
CMake-62d7acc6d4f2e4563b5a71d6e5c90352bf732c79.tar.bz2
cmCommandArgumentParserHelper: rework input handling
Old implementation uses involved Flex input management technique that requires usage of obsolete YY_INPUT macro. This causes a lot of useless allocations and byte-by-byte scanning. New implementation avoids those hacks, it uses yy_scan_string() API to setup Flex input. Also it fixes reporting of syntax error position and corresponding tests.
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r--Source/cmMakefile.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index ebbe3e7..d77c4af 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2898,7 +2898,7 @@ MessageType cmMakefile::ExpandVariablesInStringOld(
parser.SetNoEscapeMode(noEscapes);
parser.SetReplaceAtSyntax(replaceAt);
parser.SetRemoveEmpty(removeEmpty);
- int res = parser.ParseString(source.c_str(), 0);
+ int res = parser.ParseString(source, 0);
const char* emsg = parser.GetError();
MessageType mtype = MessageType::LOG;
if (res && !emsg[0]) {