diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-05-01 20:35:00 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-05-01 22:16:26 +0300 |
| commit | 8946c27306abed7065afad3f015df5ee81e72ad2 (patch) | |
| tree | c53c9a2c0437109e9c1e3f873bf8a54220ee5ded /src/lexer.l | |
| parent | 7790e27b3423901e2080bfd3c600a65a48d42886 (diff) | |
| download | fwd-8946c27306abed7065afad3f015df5ee81e72ad2.tar.gz fwd-8946c27306abed7065afad3f015df5ee81e72ad2.zip | |
add support for coverage
Diffstat (limited to 'src/lexer.l')
| -rw-r--r-- | src/lexer.l | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/lexer.l b/src/lexer.l index 4f6598a..1f4c520 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -4,6 +4,7 @@ %option reentrant noyywrap nounput noinput nodefault %{ #define FROM_LEXER +#include <fwd/tracker.h> #include <fwd/parser.h> #include <fwd/debug.h> @@ -140,7 +141,13 @@ STRING \"(\\.|[^"\\])*\" "sizeof" {return SIZEOF;} {STRING} { - yylval->str = strdup(yytext); + yylval->str = strdupc(yytext); + if (!yylval->str) { + internal_error("failed allocating lexed string"); + return ERROR; + } + + track_ptr(yylval->str); return STRING; } @@ -150,7 +157,13 @@ STRING \"(\\.|[^"\\])*\" } {ID} { - yylval->str = strdup(yytext); + yylval->str = strdupc(yytext); + if (!yylval->str) { + internal_error("failed allocating lexed ID"); + return ERROR; + } + + track_ptr(yylval->str); return ID; } |
