summaryrefslogtreecommitdiff
path: root/tokenizer.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-05-03 13:51:54 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2020-05-03 13:51:54 -0400
commit3fcabe8edbe4213ab1d5a65c584ee332c1b26baf (patch)
treecd5d3e36a153d5c35a7a29d8fe4d4e1431cb9076 /tokenizer.c
parentcb1a634e495c6f2e3ebd90f25235c6f7d2d639b7 (diff)
64-bit #foreign arguments
Diffstat (limited to 'tokenizer.c')
-rw-r--r--tokenizer.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tokenizer.c b/tokenizer.c
index cdbebd8..d90a4f6 100644
--- a/tokenizer.c
+++ b/tokenizer.c
@@ -401,7 +401,7 @@ static Status tokenize_file(Tokenizer *t, File *file) {
n->floatval = (Floating)n->intval;
tokr_nextchar(t);
continue;
- } else if (*t->s == 'e') {
+ } else if (*t->s == 'e' && base != 16) {
tokr_nextchar(t);
if (n->kind == NUM_LITERAL_INT) {
n->kind = NUM_LITERAL_FLOAT;
@@ -436,7 +436,7 @@ static Status tokenize_file(Tokenizer *t, File *file) {
if (*t->s >= 'a' && *t->s <= 'f')
digit = 10 + *t->s - 'a';
else if (*t->s >= 'A' && *t->s <= 'F')
- digit = *t->s - 'A';
+ digit = 10 + *t->s - 'A';
}
if (digit == -1) {
if (*t->s >= '0' && *t->s <= '9')