commit 5273477cb9674e6580debfec502abd959d9fefa0
parent b9db9bd0ef69488c9f3368f571ea53c061151055
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 20 Jul 2015 13:29:56 -0300
in 'lua_number2strx', use the call to 'l_sprintf' to add exponent
to result directly
Diffstat:
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git 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;