diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-30 15:51:46 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-30 15:51:46 +0100 |
| commit | cd0383a5cdb303a552ef13fc3c70261d36823ba8 (patch) | |
| tree | b3ba3af7d1fe124a1b6ce0c258cf4a00935e1eee /src/main/java/org | |
| parent | deaf4b7d433aeab4a422f1b875f802cad16b7014 (diff) | |
Handle unterminated strings in tokenizer
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/styles/parsing/TokenType.java | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java index fe36242..4c6a2a9 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java @@ -27,6 +27,10 @@ public class StyleMappingTokeniser { index = startIndex + 2; } else { index = seekEndOfToken(line, startIndex + 1, tokenType); + if (tokenType == TokenType.STRING && index == line.length() + 1) { + tokenType = TokenType.UNTERMINATED_STRING; + index -= 1; + } } return new Token(tokenType, line.substring(startIndex, index)); } diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/TokenType.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/TokenType.java index c9cc9a4..04a0b64 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/TokenType.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/TokenType.java @@ -13,6 +13,7 @@ public enum TokenType { OPEN_SQUARE_BRACKET, CLOSE_SQUARE_BRACKET, STRING, + UNTERMINATED_STRING, INTEGER, CHOICE, EOF, |
