Merge pull request #901 from sdcb/single_slashN

Fix a infinite skip_comment check in Paragraphs.cpp
This commit is contained in:
Robert Schumacher 2017-04-05 11:26:13 -07:00 committed by GitHub
commit d9e7f7488c
2 changed files with 11 additions and 1 deletions

View File

@ -34,7 +34,7 @@ namespace vcpkg::Paragraphs
void skip_comment(char& ch)
{
while (ch != '\r')
while (ch != '\r' && ch != '\n' && ch != '\0')
next(ch);
if (ch == '\r')
next(ch);

View File

@ -289,6 +289,16 @@ namespace UnitTest1
Assert::AreEqual("v4", pghs[1]["f4"].c_str());
}
TEST_METHOD(parse_comment_before_single_slashN)
{
const char* str =
"f1: v1\r\n"
"#comment\n";
auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
Assert::AreEqual(size_t(1), pghs[0].size());
Assert::AreEqual("v1", pghs[0]["f1"].c_str());
}
TEST_METHOD(BinaryParagraph_serialize_min)
{
std::stringstream ss;