diff options
-rw-r--r-- | src/lstrlib.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lstrlib.js b/src/lstrlib.js index 8bc2b0e..8e8b58e 100644 --- a/src/lstrlib.js +++ b/src/lstrlib.js @@ -225,7 +225,10 @@ const addliteral = function(L, b, arg) { checkdp(b); /* ensure it uses a dot */ } else { /* integers */ let n = lua.lua_tointeger(L, arg); - concat(b, lua.to_luastring(sprintf("%d", n))); + let format = (n === llimit.LUA_MININTEGER) /* corner case? */ + ? "0x%" + luaconf.LUA_INTEGER_FRMLEN + "x" /* use hexa */ + : luaconf.LUA_INTEGER_FMT; /* else use default format */ + concat(b, lua.to_luastring(sprintf(format, n))); } break; } |