summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dtc-lexer.l16
1 files changed, 8 insertions, 8 deletions
diff --git a/dtc-lexer.l b/dtc-lexer.l
index 40bbc87..c600603 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -189,16 +189,16 @@ static void lexical_error(const char *fmt, ...);
if (d.len == 1) {
lexical_error("Empty character literal");
yylval.integer = 0;
- return DT_CHAR_LITERAL;
- }
-
- yylval.integer = (unsigned char)d.val[0];
+ } else {
+ yylval.integer = (unsigned char)d.val[0];
- if (d.len > 2)
- lexical_error("Character literal has %d"
- " characters instead of 1",
- d.len - 1);
+ if (d.len > 2)
+ lexical_error("Character literal has %d"
+ " characters instead of 1",
+ d.len - 1);
+ }
+ data_free(d);
return DT_CHAR_LITERAL;
}