diff options
author | Camil Staps | 2018-04-03 21:14:37 +0200 |
---|---|---|
committer | Camil Staps | 2018-04-03 21:14:37 +0200 |
commit | b3f9bcbc307e3e8d455ccf560a61dc5129174728 (patch) | |
tree | c1a036d82a25452d8ade3ae29310a699aa809ddd /interpreter/lex.c | |
parent | Resolve #11: print end result as soon as it is in HNF (diff) |
Store integers without pointers
Diffstat (limited to 'interpreter/lex.c')
-rw-r--r-- | interpreter/lex.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/interpreter/lex.c b/interpreter/lex.c index c33d816..cc0241d 100644 --- a/interpreter/lex.c +++ b/interpreter/lex.c @@ -91,10 +91,9 @@ struct token_list *lex(struct token_list *list, char *input) { char *s; unsigned char len = lex_int_length(input); s = my_calloc(1, len + 1); - list->elems[list->index].kind = TOKEN_INT; - list->elems[list->index].var = my_calloc(1, sizeof(int)); strncpy(s, input, len); - *((int*) list->elems[list->index].var) = atoi(s); + list->elems[list->index].kind = TOKEN_INT; + list->elems[list->index].var = (void*)((INT)atoi(s)); my_free(s); input += len - 1; } else if (is_name_char(*input)) { |