summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/code/tokenizer
diff options
context:
space:
mode:
authorthing1 <thing1@seacrossedlovers.xyz>2024-07-09 15:40:55 +0100
committerthing1 <thing1@seacrossedlovers.xyz>2024-07-09 15:40:55 +0100
commitb6cf209e65721c9b749124e6c5866b9359fc6583 (patch)
tree6426e7481f864b3a1d72c0bc21e4c89df6e9463e /comp/lucas-standen-NEA/code/tokenizer
parent3f23b452f8ab504a3337f88ddc714c3a660d2648 (diff)
made alot work with vars
Diffstat (limited to 'comp/lucas-standen-NEA/code/tokenizer')
-rw-r--r--comp/lucas-standen-NEA/code/tokenizer/tokenizer.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c b/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
index c72270b..afd68fe 100644
--- a/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
+++ b/comp/lucas-standen-NEA/code/tokenizer/tokenizer.c
@@ -126,8 +126,11 @@ ast_node *tokenize(char *input){
expressFunction(function, node);
- char *tok;
- tok = strtok(strstr(exp, " ") + 1, " ");
+ char *tok, *saveptr, *expptr = exp;
+
+ exp = strstr(exp, " ");
+ tok = strtok_r(exp, " ", &saveptr);
+
argCount = 0;
depth = 0;
do {
@@ -143,10 +146,10 @@ ast_node *tokenize(char *input){
if (tok[0] == '(') depth++;
if (tok[strlen(tok)-1] == ')') depth--;
- tok = strtok(NULL, " ");
+ tok = strtok_r(NULL, " ", &saveptr);
} while (tok != NULL);
- free(exp);
+ free(expptr);
return node;
}