diff options
author | Mike Pall <mike> | 2012-10-15 01:31:56 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-10-15 01:31:56 +0200 |
commit | 93e4040b600c993bd89910b8ac99d9242f85c702 (patch) | |
tree | 800516844ed8d4c1eb6c711579e85e407cf9b7f9 /src | |
parent | 6d3623485678fb7de85e031a650cce57e29bf4eb (diff) | |
download | luajit-93e4040b600c993bd89910b8ac99d9242f85c702.tar.gz luajit-93e4040b600c993bd89910b8ac99d9242f85c702.tar.bz2 luajit-93e4040b600c993bd89910b8ac99d9242f85c702.zip |
Workaround for broken Android sprintf("%g", -0.0).
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_str.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lj_str.c b/src/lj_str.c index 1060ec6d..fc4153dd 100644 --- a/src/lj_str.c +++ b/src/lj_str.c | |||
@@ -174,6 +174,9 @@ size_t LJ_FASTCALL lj_str_bufnum(char *s, cTValue *o) | |||
174 | { | 174 | { |
175 | if (LJ_LIKELY((o->u32.hi << 1) < 0xffe00000)) { /* Finite? */ | 175 | if (LJ_LIKELY((o->u32.hi << 1) < 0xffe00000)) { /* Finite? */ |
176 | lua_Number n = o->n; | 176 | lua_Number n = o->n; |
177 | #if __BIONIC__ | ||
178 | if (tvismzero(o)) { s[0] = '-'; s[1] = '0'; return 2; } | ||
179 | #endif | ||
177 | return (size_t)lua_number2str(s, n); | 180 | return (size_t)lua_number2str(s, n); |
178 | } else if (((o->u32.hi & 0x000fffff) | o->u32.lo) != 0) { | 181 | } else if (((o->u32.hi & 0x000fffff) | o->u32.lo) != 0) { |
179 | s[0] = 'n'; s[1] = 'a'; s[2] = 'n'; return 3; | 182 | s[0] = 'n'; s[1] = 'a'; s[2] = 'n'; return 3; |