diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/codegen.c | 5 | ||||
| -rw-r--r-- | src/parse.y | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/codegen.c b/src/codegen.c index 2654fcbe3..8aef2a328 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -802,8 +802,9 @@ readint_float(codegen_scope *s, const char *p, int base) mrb_float f = 0; int n; - while (p <= e) { - char c = tolower(*p); + while (p < e) { + char c = *p; + c = tolower((unsigned char)c); for (n=0; n<base; n++) { if (mrb_digitmap[n] == c) { f *= base; diff --git a/src/parse.y b/src/parse.y index 025707670..af91f09b6 100644 --- a/src/parse.y +++ b/src/parse.y @@ -3949,7 +3949,7 @@ parser_yylex(parser_state *p) } if (!ISXDIGIT(c)) break; nondigit = 0; - tokadd(p, c); + tokadd(p, tolower(c)); } while ((c = nextc(p)) != -1); } pushback(p, c); |
