Save space, drop unuseful trailing zeroes

This commit is contained in:
Remi Collet
2012-12-13 11:22:31 +01:00
parent 4014fe86d9
commit 8c847968c7

View File

@@ -552,13 +552,25 @@ static int json_object_double_to_json_string(struct json_object* jso,
int level,
int flags)
{
char buf[128], *p;
char buf[128], *p, *q;
int size;
size = snprintf(buf, 128, "%f", jso->o.c_double);
p = strchr(buf, ',');
if (p) {
*p = '.';
} else {
p = strchr(buf, '.');
}
if (p) {
/* last useful digit, always keep 1 zero */
p++;
for (q=p ; *q ; q++) {
if (*q!='0') p=q;
}
/* drop trailing zeroes */
*(++p) = 0;
size = p-buf;
}
printbuf_memappend(pb, buf, size);
return size;