From 5273477cb9674e6580debfec502abd959d9fefa0 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 20 Jul 2015 13:30:22 -0300 Subject: in 'lua_number2strx', use the call to 'l_sprintf' to add exponent to result directly --- lstrlib.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lstrlib.c b/lstrlib.c index 712e55ee..4d8ff6f9 100644 --- a/lstrlib.c +++ b/lstrlib.c @@ -1,5 +1,5 @@ /* -** $Id: lstrlib.c,v 1.230 2015/06/18 14:26:05 roberto Exp roberto $ +** $Id: lstrlib.c,v 1.231 2015/06/24 18:25:10 roberto Exp roberto $ ** Standard library for string operations and pattern-matching ** See Copyright Notice in lua.h */ @@ -834,9 +834,8 @@ static int num2straux (char *buff, int sz, lua_Number x) { if (x != x || x == HUGE_VAL || x == -HUGE_VAL) /* inf or NaN? */ return l_sprintf(buff, sz, LUA_NUMBER_FMT, x); /* equal to '%g' */ else if (x == 0) { /* can be -0... */ - l_sprintf(buff, sz, LUA_NUMBER_FMT, x); /* create "0" or "-0" */ - strcat(buff, "x0p+0"); /* add exponent to that */ - return strlen(buff); + /* create "0" or "-0" followed by exponent */ + return l_sprintf(buff, sz, LUA_NUMBER_FMT "x0p+0", x); } else { int e; -- cgit v1.2.3-55-g6feb