diff options
Diffstat (limited to 'src/analysis/scan/tokens.l')
-rw-r--r-- | src/analysis/scan/tokens.l | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/analysis/scan/tokens.l b/src/analysis/scan/tokens.l index 92a5340..b541786 100644 --- a/src/analysis/scan/tokens.l +++ b/src/analysis/scan/tokens.l @@ -107,7 +107,11 @@ "rule" { PUSH_STATE(rule_intro); return RAW_RULE; } -<rule_intro>[A-Za-z0-9_]+ { yylval->cstring = yytext; return RULE_NAME; } +<rule_intro>[A-Za-z0-9_]+ { + yylval->sized_cstring.data = yytext; + yylval->sized_cstring.len = yyleng; + return RULE_NAME; + } <rule_intro>[ \t]* { } <rule_intro>"{" { POP_STATE; PUSH_STATE(raw_block); return BRACE_IN; } @@ -139,7 +143,8 @@ POP_STATE; EXTEND_BUFFER_IF_NEEDED(1); (*buf)[(*used)++] = '\0'; - yylval->cstring = *buf; + yylval->sized_cstring.data = *buf; + yylval->sized_cstring.len = *used; return STRING; } @@ -206,12 +211,12 @@ <strings,condition>$[A-Za-z0-9_]* { - yylval->sized_cstring.cstring = yytext + 1; + yylval->sized_cstring.data = yytext + 1; yylval->sized_cstring.len = yyleng - 1; return IDENTIFIER; } <condition>[A-Za-z_][A-Za-z0-9_]* { - yylval->sized_cstring.cstring = yytext; + yylval->sized_cstring.data = yytext; yylval->sized_cstring.len = yyleng; return NAME; } @@ -221,7 +226,7 @@ <strval>\"[^\"\\]+\" { POP_STATE; - yylval->sized_cstring.cstring = yytext + 1; + yylval->sized_cstring.data = yytext + 1; yylval->sized_cstring.len = yyleng - 2; return PLAIN_STRING; } |