diff options
author | s-over-4 | 2023-06-21 16:34:22 -0400 |
---|---|---|
committer | s-over-4 | 2023-06-21 16:34:22 -0400 |
commit | 46f4397bf0718fbaf2cee5b4ffd56d4a36f2c4d8 (patch) | |
tree | 9e582eef34f67fd47117445e22a316e6c855ad5d /src/lexer.c | |
parent | 069204d6151326acc77bfd1f9072bd19882b948a (diff) |
NO MORE MEMORY LEAKS :D
Diffstat (limited to 'src/lexer.c')
-rw-r--r-- | src/lexer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lexer.c b/src/lexer.c index 9734f99..776b043 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -18,7 +18,6 @@ lexer_t* lexer_init(char* content) { } void lexer_destroy(lexer_t* lexer) { - free(lexer->content); free(lexer); } @@ -92,7 +91,7 @@ token_t* lexer_get_next_token(lexer_t* lexer) { return token_init(TOKEN_EOF, lexer_get_c_as_string(lexer)); break; default: - return lexer_next_token(lexer, TOKEN_UNKNOWN); + return token_init(TOKEN_UNKNOWN, lexer_get_c_as_string(lexer)); } } @@ -132,6 +131,8 @@ token_t* lexer_collect(lexer_t* lexer, int (*end_char)(char), int fskip, int lsk memcpy(token + len, current, sizeof(char) * strlen(current)); len += sizeof(char) * strlen(current); lexer_next(lexer); + + free(current); } if (lskip) { lexer_next(lexer); } |