Gross hack to omit printing hex floating point when the lua number
type is int64. While lua is setup for the representation, it's not setup to properly print the numbers as ints. This is the least-gross way around that, and won't affect the bootloader where we do this.
This commit is contained in:
parent
4dbbaf2021
commit
919cf86c87
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328443
@ -951,12 +951,16 @@ static void addliteral (lua_State *L, luaL_Buffer *b, int arg) {
|
||||
case LUA_TNUMBER: {
|
||||
char *buff = luaL_prepbuffsize(b, MAX_ITEM);
|
||||
int nb;
|
||||
#if LUA_FLOAT_TYPE != LUA_FLOAT_INT64
|
||||
if (!lua_isinteger(L, arg)) { /* float? */
|
||||
lua_Number n = lua_tonumber(L, arg); /* write as hexa ('%a') */
|
||||
nb = lua_number2strx(L, buff, MAX_ITEM, "%" LUA_NUMBER_FRMLEN "a", n);
|
||||
checkdp(buff, nb); /* ensure it uses a dot */
|
||||
}
|
||||
else { /* integers */
|
||||
#else
|
||||
{
|
||||
#endif
|
||||
lua_Integer n = lua_tointeger(L, arg);
|
||||
const char *format = (n == LUA_MININTEGER) /* corner case? */
|
||||
? "0x%" LUA_INTEGER_FRMLEN "x" /* use hexa */
|
||||
|
Loading…
Reference in New Issue
Block a user