aboutsummaryrefslogtreecommitdiff
path: root/lstrlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-04-03 15:41:57 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2015-04-03 15:41:57 -0300
commit48d0674c2e85ef7bb447a8a45fbc6af80508f10e (patch)
tree9d7b34ea077dfbe155866c9b87ae47ba901b2a7e /lstrlib.c
parent6ffe006f5c57321a9b3c12a246b142a0394bf62d (diff)
downloadlua-48d0674c2e85ef7bb447a8a45fbc6af80508f10e.tar.gz
lua-48d0674c2e85ef7bb447a8a45fbc6af80508f10e.tar.bz2
lua-48d0674c2e85ef7bb447a8a45fbc6af80508f10e.zip
more consistent use of locale radix character across Lua
Diffstat (limited to 'lstrlib.c')
-rw-r--r--lstrlib.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lstrlib.c b/lstrlib.c
index 3fc5be98..fb6c54c2 100644
--- a/lstrlib.c
+++ b/lstrlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lstrlib.c,v 1.226 2015/02/09 18:05:46 roberto Exp roberto $ 2** $Id: lstrlib.c,v 1.227 2015/03/28 19:14:47 roberto Exp roberto $
3** Standard library for string operations and pattern-matching 3** Standard library for string operations and pattern-matching
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -803,6 +803,7 @@ static int str_gsub (lua_State *L) {
803** Hexadecimal floating-point formatter 803** Hexadecimal floating-point formatter
804*/ 804*/
805 805
806#include <locale.h>
806#include <math.h> 807#include <math.h>
807 808
808#define SIZELENMOD (sizeof(LUA_NUMBER_FRMLEN)/sizeof(char)) 809#define SIZELENMOD (sizeof(LUA_NUMBER_FRMLEN)/sizeof(char))
@@ -850,7 +851,7 @@ static int num2straux (char *buff, lua_Number x) {
850 m = adddigit(buff, n++, m * (1 << L_NBFD)); /* add first digit */ 851 m = adddigit(buff, n++, m * (1 << L_NBFD)); /* add first digit */
851 e -= L_NBFD; /* this digit goes before the radix point */ 852 e -= L_NBFD; /* this digit goes before the radix point */
852 if (m > 0) { /* more digits? */ 853 if (m > 0) { /* more digits? */
853 buff[n++] = '.'; /* add radix point */ 854 buff[n++] = lua_getlocaledecpoint(); /* add radix point */
854 do { /* add as many digits as needed */ 855 do { /* add as many digits as needed */
855 m = adddigit(buff, n++, m * 16); 856 m = adddigit(buff, n++, m * 16);
856 } while (m > 0); 857 } while (m > 0);