From 0ecaeb89d3ec1221687d4225b6e51ee3ede80681 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Tue, 19 Dec 2006 12:36:44 +0000 Subject: [PATCH] serialize() should use '.' as decimal point irrespectively to locale --- ext/standard/var.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ext/standard/var.c b/ext/standard/var.c index 01b17506dd..e71558cd93 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -689,10 +689,12 @@ static void php_var_serialize_intern(smart_str *buf, zval *struc, HashTable *var case IS_DOUBLE: { char *s; - ulong slen; - slen = spprintf(&s, 0, "d:%.*G;", (int) PG(serialize_precision), Z_DVAL_P(struc)); - smart_str_appendl(buf, s, slen); + smart_str_appendl(buf, "d:", 2); + s = (char *) emalloc(MAX_LENGTH_OF_DOUBLE + PG(serialize_precision) + 1); + php_gcvt(Z_DVAL_P(struc), PG(serialize_precision), '.', 'E', s); + smart_str_appends(buf, s); + smart_str_appendc(buf, ';'); efree(s); return; } -- 2.40.0