diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-10-09 04:17:34 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-10-09 04:17:34 -0400 |
| commit | 47fca946065508cff4151a32b3008c161983fd9d (patch) | |
| tree | d25d325cdb2411a87f9c6cc50d3337b4d8ae1fd1 | |
| parent | a25699282df608a5f794ef8851d85c44752f5b85 (diff) | |
Bugfix for `1e-2-3`
| -rw-r--r-- | parse.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -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) { |
