From ac70d4031c5760e756e1d9ffd5228204969afc5f Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 29 Nov 2023 15:38:57 +0000 Subject: Added function to copy tokens This essentially just copies the internal string of the token into a new buffer. --- asm/lexer.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'asm/lexer.c') diff --git a/asm/lexer.c b/asm/lexer.c index 6358e95..7d1ad8c 100644 --- a/asm/lexer.c +++ b/asm/lexer.c @@ -130,6 +130,15 @@ const char *lerr_as_cstr(lerr_t lerr) return ""; } +token_t token_copy(token_t t) +{ + token_t new = t; + new.str = malloc(t.str_size + 1); + memcpy(new.str, t.str, t.str_size); + new.str[t.str_size] = '\0'; + return new; +} + size_t space_left(buffer_t *buffer) { if (buffer->available == buffer->used) -- cgit v1.2.3-13-gbd6f