From 25f9d42e9f46105dd84e5307c89b6962840d64c4 Mon Sep 17 00:00:00 2001 From: _N3m0 Date: Thu, 4 Jan 2024 15:02:39 +0100 Subject: [PATCH] create token get value --- lexer.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lexer.c b/lexer.c index 5e6a985..b55e78d 100644 --- a/lexer.c +++ b/lexer.c @@ -128,18 +128,25 @@ char* getParam(const char* word, int len, char* cursor, int* size){ } Token* create_text_token(Token* token, char* cursor){ - int i = 0; + token = malloc(sizeof(Token)); + token->value = malloc(sizeof(char) * DA_LEN); + int i = 0, cap = DA_LEN; + go_back(); do { cursor = nextchar(); + token->value[i] = *cursor; i++; + if (i >= cap){ + cap *= 2; + token->value = realloc(token->value, cap); + } } while (*cursor != '<'); + token->value[i-1] = '\0'; go_back(); - token = malloc(sizeof(Token)); token->type = TEXT; - token->value = "TODO"; - token->len = i; + token->len = i-1; return token; }