diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-06-07 16:02:05 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-06-07 16:02:05 -0300 |
commit | 318575627f5a38328e38acf23733c53abfe65be1 (patch) | |
tree | 76aa9a3614bc9bac3dfdbed2ed538f3001261c06 /lvm.c | |
parent | a14992992adcaa4c60e275cb011e7832e6e796ae (diff) | |
download | lua-318575627f5a38328e38acf23733c53abfe65be1.tar.gz lua-318575627f5a38328e38acf23733c53abfe65be1.tar.bz2 lua-318575627f5a38328e38acf23733c53abfe65be1.zip |
avoid adding '.0' to "numbers" like "nan" and "inf"
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 2.171 2013/05/27 12:43:37 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 2.172 2013/06/04 19:36:42 roberto Exp roberto $ |
3 | ** Lua virtual machine | 3 | ** Lua virtual machine |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -52,12 +52,12 @@ int luaV_tostring (lua_State *L, StkId obj) { | |||
52 | return 0; | 52 | return 0; |
53 | else { | 53 | else { |
54 | char buff[MAXNUMBER2STR]; | 54 | char buff[MAXNUMBER2STR]; |
55 | int len; | 55 | size_t len; |
56 | if (ttisinteger(obj)) | 56 | if (ttisinteger(obj)) |
57 | len = lua_integer2str(buff, ivalue(obj)); | 57 | len = lua_integer2str(buff, ivalue(obj)); |
58 | else { | 58 | else { |
59 | len = lua_number2str(buff, fltvalue(obj)); | 59 | len = lua_number2str(buff, fltvalue(obj)); |
60 | if (strpbrk(buff, ".eE") == NULL) { /* no marks that it is a float? */ | 60 | if (strspn(buff, "-0123456789") == len) { /* look like an integer? */ |
61 | buff[len++] = '.'; /* add a '.0' */ | 61 | buff[len++] = '.'; /* add a '.0' */ |
62 | buff[len++] = '0'; | 62 | buff[len++] = '0'; |
63 | buff[len] = '\0'; | 63 | buff[len] = '\0'; |