summaryrefslogtreecommitdiff
path: root/src/sys
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys')
-rw-r--r--src/sys/include/np/lex.h5
-rw-r--r--src/sys/np/core/np_lex.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/src/sys/include/np/lex.h b/src/sys/include/np/lex.h
index ba4bdb8..9c6e69e 100644
--- a/src/sys/include/np/lex.h
+++ b/src/sys/include/np/lex.h
@@ -85,7 +85,10 @@ typedef uint64_t tokval_t;
*/
struct lex_token {
tt_t token;
- tokval_t val;
+ union {
+ tokval_t val;
+ char *val_str;
+ };
};
/*
diff --git a/src/sys/np/core/np_lex.c b/src/sys/np/core/np_lex.c
index cecb425..8eb5039 100644
--- a/src/sys/np/core/np_lex.c
+++ b/src/sys/np/core/np_lex.c
@@ -147,6 +147,7 @@ lex_matchstr(struct np_work *work, char c, struct lex_token *res)
} while ((c = lex_pop(work)) != 0);
id[id_idx] = '\0';
+ res->val_str = ptrbox_strdup(id, work->work_mem);
/* Match the tokens */
error = lex_cmptok(id, res);