Save space, drop unuseful trailing zeroes
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user