From 93e4040b600c993bd89910b8ac99d9242f85c702 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 15 Oct 2012 01:31:56 +0200 Subject: Workaround for broken Android sprintf("%g", -0.0). --- src/lj_str.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') 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) { if (LJ_LIKELY((o->u32.hi << 1) < 0xffe00000)) { /* Finite? */ lua_Number n = o->n; +#if __BIONIC__ + if (tvismzero(o)) { s[0] = '-'; s[1] = '0'; return 2; } +#endif return (size_t)lua_number2str(s, n); } else if (((o->u32.hi & 0x000fffff) | o->u32.lo) != 0) { s[0] = 'n'; s[1] = 'a'; s[2] = 'n'; return 3; -- cgit v1.2.3-55-g6feb