Modify datatest parse to eat whitespace when line continuation is in effect

Previously the parsed string would look as follows. You would get this on a failed self test.
Key: 0000000000000000
    0000000000000000
        0000000000000000
            0000000000000000

The new behavior eats the leading whitespace, so the key is reported as:
Key: 0000000000000000000000000000000000000000000000000000000000000000
This commit is contained in:
Jeffrey Walton 2017-05-10 16:20:12 -04:00
parent d236cf1277
commit e456cd2275
No known key found for this signature in database
GPG Key ID: B36AB348921B1838

View File

@ -685,10 +685,21 @@ bool GetField(std::istream &is, std::string &name, std::string &value)
do
{
continueLine = false;
do
{
is.get(buffer, sizeof(buffer));
value += buffer;
// Eat leading whispace on line continuation
if (continueLine == true)
{
size_t pos = 0;
while (buffer[pos] != '\0' && buffer[pos] != ' ')
pos++;
value += &buffer[pos];
}
else
value += buffer;
if (buffer[0] == ' ')
space = true;
}