From 47fca946065508cff4151a32b3008c161983fd9d Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 9 Oct 2024 04:17:34 -0400 Subject: [PATCH] Bugfix for `1e-2-3` --- parse.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/parse.c b/parse.c index b02e649..f07f3ba 100644 --- a/parse.c +++ b/parse.c @@ -712,8 +712,12 @@ PARSER(parse_num) { len += 1 + strspn(pos + len + 1, "0123456789"); else if (pos[len] != 'e' && pos[len] != 'f' && pos[len] != '%') return NULL; - if (pos[len] == 'e') - len += 1 + strspn(pos + len + 1, "-0123456789_"); + if (pos[len] == 'e') { + len += 1; + if (pos[len] == '-') + len += 1; + len += strspn(pos + len, "0123456789_"); + } char *buf = GC_MALLOC_ATOMIC(len+1); memset(buf, 0, len+1); for (char *src = (char*)pos, *dest = buf; src < pos+len; ++src) {