diff options
author | Alex Crichton <alex@alexcrichton.com> | 2014-07-18 09:55:32 -0400 |
---|---|---|
committer | Alex Crichton <alex@alexcrichton.com> | 2014-07-18 09:55:32 -0400 |
commit | 76cf3d1d3ef0fb21ade21d313d8b67b65ed7e8ac (patch) | |
tree | 2ccbf27ac04539985419897bf0225267c22f2541 /src/parser.rs | |
parent | 05f8c0bc41a10f1e98e420f8d02d778541d13d48 (diff) | |
parent | e756f56b62053a34aa26a00e28dbe4ce29cd9125 (diff) | |
download | milf-rs-76cf3d1d3ef0fb21ade21d313d8b67b65ed7e8ac.tar.gz milf-rs-76cf3d1d3ef0fb21ade21d313d8b67b65ed7e8ac.zip |
Merge pull request #8 from huonw/fixit
Disambiguate "" empty strings from multiline strings properly.
Diffstat (limited to 'src/parser.rs')
-rw-r--r-- | src/parser.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/parser.rs b/src/parser.rs index ec9adf9..27edd2f 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -265,11 +265,16 @@ impl<'a> Parser<'a> { let mut multiline = false; let mut ret = String::new(); - // detect multiline literals + // detect multiline literals, but be careful about empty "" + // strings if self.eat('"') { - multiline = true; - if !self.expect('"') { return None } - self.eat('\n'); + if self.eat('"') { + multiline = true; + self.eat('\n'); + } else { + // empty + return Some(String(ret)) + } } loop { |