diff options
Diffstat (limited to 'libbutl/utility.cxx')
-rw-r--r-- | libbutl/utility.cxx | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/libbutl/utility.cxx b/libbutl/utility.cxx index 502586c..1212aa1 100644 --- a/libbutl/utility.cxx +++ b/libbutl/utility.cxx @@ -104,17 +104,18 @@ namespace butl assert (trim (r = "a \r") == "a"); assert (trim (r = " a ") == "a"); assert (trim (r = " \ta \r") == "a"); + assert (trim (r = "\na\n") == "a"); */ - size_t i (0), n (l.size ()); + auto ws = [] (char c ) + { + return c == ' ' || c == '\t' || c == '\n' || c == '\r'; + }; - for (char c; - i != n && ((c = l[i]) == ' ' || c == '\t' || c == '\r'); - ++i) ; + size_t i (0), n (l.size ()); - for (char c; - n != i && ((c = l[n - 1]) == ' ' || c == '\t' || c == '\r'); - --n) ; + for (; i != n && ws (l[i]); ++i) ; + for (; n != i && ws (l[n - 1]); --n) ; if (i != 0) { |