From cfdd3c90877b59dc674cc9f68c0b7b4bb7c14ba8 Mon Sep 17 00:00:00 2001 From: Thing1 Date: Tue, 27 Aug 2024 10:36:18 +0100 Subject: rewrite --- comp/lucas-standen-NEA/code/tokenizer/parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'comp/lucas-standen-NEA/code/tokenizer/parser.c') diff --git a/comp/lucas-standen-NEA/code/tokenizer/parser.c b/comp/lucas-standen-NEA/code/tokenizer/parser.c index 78ba919..b2c3657 100644 --- a/comp/lucas-standen-NEA/code/tokenizer/parser.c +++ b/comp/lucas-standen-NEA/code/tokenizer/parser.c @@ -57,7 +57,7 @@ FILE *preProcess(char *contents){ } char **getExpressions(char *file){ // this doesn't work because str gets overwritten which changes the data stored at it's pointer, memcpy should be used - char **code = CheckedMalloc((strlen(file)/2)*sizeof(char *)); + char **code = CheckedMalloc(strlen(file)/4); int counter = 0; int depth = 0; char *str = CheckedMalloc(strlen(file)+1); @@ -73,7 +73,8 @@ char **getExpressions(char *file){ // this doesn't work because str gets overwri if (depth == 0) { str[pos] = '\0'; printf("%s\n", str); - code[counter] = str; + code[counter] = malloc(strlen(str)+1); + memcpy(code[counter], str, strlen((str)+1)); counter++; pos = 0; } -- cgit v1.2.3