diff options
Diffstat (limited to 'src/lj_str.c')
-rw-r--r-- | src/lj_str.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_str.c b/src/lj_str.c index 516acefe..a5d894e0 100644 --- a/src/lj_str.c +++ b/src/lj_str.c | |||
@@ -361,8 +361,8 @@ const char *lj_str_pushvf(lua_State *L, const char *fmt, va_list argp) | |||
361 | ptrdiff_t p = (ptrdiff_t)(va_arg(argp, void *)); | 361 | ptrdiff_t p = (ptrdiff_t)(va_arg(argp, void *)); |
362 | ptrdiff_t i, lasti = 2+FMTP_CHARS; | 362 | ptrdiff_t i, lasti = 2+FMTP_CHARS; |
363 | #if LJ_64 | 363 | #if LJ_64 |
364 | if ((p >> 32) == 0) /* Shorten output for true 32 bit pointers. */ | 364 | /* Shorten output for 64 bit pointers. */ |
365 | lasti = 2+2*4; | 365 | lasti = 2+2*4+((p >> 32) ? 2+2*(lj_fls((uint32_t)(p >> 32))>>3) : 0); |
366 | #endif | 366 | #endif |
367 | buf[0] = '0'; | 367 | buf[0] = '0'; |
368 | buf[1] = 'x'; | 368 | buf[1] = 'x'; |