diff options
| author | dearblue <[email protected]> | 2019-04-14 16:11:21 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2019-04-14 16:11:21 +0900 |
| commit | c2fa935fee31c201ba4b07e72690e78a3094cf68 (patch) | |
| tree | 36389e0a5f07dee7671980de599047075b0eac30 /mrbgems/mruby-compiler | |
| parent | 4d8ff2fba436708a349c858674088542a126cab1 (diff) | |
| download | mruby-c2fa935fee31c201ba4b07e72690e78a3094cf68.tar.gz mruby-c2fa935fee31c201ba4b07e72690e78a3094cf68.zip | |
Fix hexdigits convertion
Diffstat (limited to 'mrbgems/mruby-compiler')
| -rw-r--r-- | mrbgems/mruby-compiler/core/parse.y | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index ca4c90770..f6b883b9e 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -5712,10 +5712,11 @@ parser_yylex(parser_state *p) if (!identchar(c)) { char buf[36]; const char s[] = "Invalid char in expression: 0x"; + const char hexdigits[] = "0123456789ABCDEF"; strcpy(buf, s); - buf[sizeof(s)] = (c & 0xff00) >> 8; - buf[sizeof(s)+1] = (c & 0xff); + buf[sizeof(s)] = hexdigits[(c & 0xf0) >> 4]; + buf[sizeof(s)+1] = hexdigits[(c & 0x0f)]; buf[sizeof(s)+2] = 0; yyerror(p, buf); goto retry; |
