diff options
Diffstat (limited to 'src/lexer.c')
-rw-r--r-- | src/lexer.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lexer.c b/src/lexer.c index 1f647f5..60fa1a5 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -126,12 +126,11 @@ token_t* lexer_collect(lexer_t* lexer, int (*end_char)(char), int fskip, int lsk char* current = lexer_get_c_as_string(lexer); token = realloc( token, - (len + strlen(current) * sizeof(char)) + (len + sizeof(char) * strlen(current)) ); - memcpy(token + len, current, strlen(current) * sizeof(char)); - len += strlen(current) * sizeof(char); - free(current); + memcpy(token + len, current, sizeof(char) * strlen(current)); + len += sizeof(char) * strlen(current); lexer_next(lexer); } |