diff options
-rw-r--r-- | src/lj_strfmt.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_strfmt.c b/src/lj_strfmt.c index 614bd4ef..24100ed2 100644 --- a/src/lj_strfmt.c +++ b/src/lj_strfmt.c | |||
@@ -303,7 +303,7 @@ SBuf *lj_strfmt_putfxint(SBuf *sb, SFormat sf, uint64_t k) | |||
303 | const char *hexdig = (sf & STRFMT_F_UPPER) ? "0123456789ABCDEF" : | 303 | const char *hexdig = (sf & STRFMT_F_UPPER) ? "0123456789ABCDEF" : |
304 | "0123456789abcdef"; | 304 | "0123456789abcdef"; |
305 | do { *--q = hexdig[(k & 15)]; k >>= 4; } while (k); | 305 | do { *--q = hexdig[(k & 15)]; k >>= 4; } while (k); |
306 | if ((sf & STRFMT_F_ALT)) prefix = 512 + 'x'; | 306 | if ((sf & STRFMT_F_ALT)) prefix = 512 + ((sf & STRFMT_F_UPPER) ? 'X' : 'x'); |
307 | } else { /* Octal. */ | 307 | } else { /* Octal. */ |
308 | do { *--q = (char)('0' + (uint32_t)(k & 7)); k >>= 3; } while (k); | 308 | do { *--q = (char)('0' + (uint32_t)(k & 7)); k >>= 3; } while (k); |
309 | if ((sf & STRFMT_F_ALT)) *--q = '0'; | 309 | if ((sf & STRFMT_F_ALT)) *--q = '0'; |
@@ -324,7 +324,7 @@ SBuf *lj_strfmt_putfxint(SBuf *sb, SFormat sf, uint64_t k) | |||
324 | if ((sf & (STRFMT_F_LEFT|STRFMT_F_ZERO)) == 0) | 324 | if ((sf & (STRFMT_F_LEFT|STRFMT_F_ZERO)) == 0) |
325 | while (width-- > pprec) *p++ = ' '; | 325 | while (width-- > pprec) *p++ = ' '; |
326 | if (prefix) { | 326 | if (prefix) { |
327 | if ((char)prefix == 'x') *p++ = '0'; | 327 | if ((char)prefix >= 'X') *p++ = '0'; |
328 | *p++ = (char)prefix; | 328 | *p++ = (char)prefix; |
329 | } | 329 | } |
330 | if ((sf & (STRFMT_F_LEFT|STRFMT_F_ZERO)) == STRFMT_F_ZERO) | 330 | if ((sf & (STRFMT_F_LEFT|STRFMT_F_ZERO)) == STRFMT_F_ZERO) |