[C++] Fix multiline concatination
diff --git a/value.cc b/value.cc
index 87cc736..09ef6e0 100644
--- a/value.cc
+++ b/value.cc
@@ -455,13 +455,17 @@
       }
       if (n == '\r' || n == '\n') {
         if (i > b) {
-          r->AddValue(new Literal(s.substr(b, i-b)));
+          r->AddValue(new Literal(TrimRightSpace(s.substr(b, i-b))));
         }
         r->AddValue(new Literal(STRING_PIECE(" ")));
-        i++;
-        if (n == '\r' && s.get(i+1) == '\n')
-          i++;
-        b = i + 1;
+        for (i++; i < s.size(); i++) {
+          if (!isspace(s[i]) &&
+              (s[i] != '\\' || (s.get(i+1) != '\r' && s.get(i+1) != '\n'))) {
+            break;
+          }
+        }
+        b = i;
+        i--;
       }
     }
   }