From 47fca946065508cff4151a32b3008c161983fd9d Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 9 Oct 2024 04:17:34 -0400 Subject: Bugfix for `1e-2-3` --- parse.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'parse.c') diff --git a/parse.c b/parse.c index b02e649f..f07f3ba8 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) { -- cgit v1.2.3