From 2ffe5ac2998b90c004de4f13e199c7ee965c3f75 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 11 Jun 2015 16:51:26 +0200 Subject: Fix bug in value whitespace trimming --- bpkg/manifest-parser.cxx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/bpkg/manifest-parser.cxx b/bpkg/manifest-parser.cxx index 68fd073..037b874 100644 --- a/bpkg/manifest-parser.cxx +++ b/bpkg/manifest-parser.cxx @@ -154,7 +154,7 @@ namespace bpkg r.value_column = c.column (); string& v (r.value); - string::size_type n (0); // Size of last non-space character (simpel mode). + string::size_type n (0); // Size of last non-space character (simple mode). // Detect the multi-line mode introductor. // @@ -219,7 +219,7 @@ namespace bpkg get (); v += '\n'; // Literal newline. - n++; + n = v.size (); continue; // Restart from the next character. } } @@ -281,13 +281,13 @@ namespace bpkg if (c2 == '\n' || is_eos (c1)) { v += '\\'; - n++; + n = v.size (); // Restart from c2 (newline/eos). } else { v += '\\'; - n++; + n = v.size (); unget (c1); // Restart from c1 (second slash). } @@ -300,11 +300,8 @@ namespace bpkg get (); v += c; - if (!ml) - { - if (c != ' ' && c != '\t') - n++; - } + if (!ml && c != ' ' && c != '\t') + n = v.size (); } // Cut off trailing whitespaces. -- cgit v1.1