From 7d849c2df476c92a09ed4067117b5d5e3d5d988e Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 22 May 2017 23:08:21 +1000 Subject: src/lstrlib: math.mininteger has to print specially --- src/lstrlib.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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; } -- cgit v1.2.3-70-g09d2