Changeset 13678
- Timestamp:
- Dec 17, 2012, 2:43:17 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/variant-json.c
r13675 r13678 492 492 { 493 493 struct jsonWalk * data = vdata; 494 char locale[128];495 494 496 495 if (fabs (val->val.d - (int)val->val.d) < 0.00001) 497 { 498 evbuffer_add_printf (data->out, "%d", (int)val->val.d); 499 } 496 evbuffer_add_printf (data->out, "%d", (int)val->val.d); 500 497 else 501 { 502 /* json requires a '.' decimal point regardless of locale */ 503 tr_strlcpy (locale, setlocale (LC_NUMERIC, NULL), sizeof (locale)); 504 setlocale (LC_NUMERIC, "POSIX"); 505 evbuffer_add_printf (data->out, "%.4f", tr_truncd (val->val.d, 4)); 506 setlocale (LC_NUMERIC, locale); 507 } 498 evbuffer_add_printf (data->out, "%.4f", tr_truncd (val->val.d, 4)); 508 499 509 500 jsonChildFunc (data); … … 630 621 tr_variantToBufJson (const tr_variant * top, struct evbuffer * buf, bool lean) 631 622 { 623 char lc_numeric[128]; 632 624 struct jsonWalk data; 625 633 626 data.doIndent = !lean; 634 627 data.out = buf; 635 628 data.parents = NULL; 629 630 /* json requires a '.' decimal point regardless of locale */ 631 tr_strlcpy (lc_numeric, setlocale (LC_NUMERIC, NULL), sizeof (lc_numeric)); 632 setlocale (LC_NUMERIC, "POSIX"); 636 633 tr_variantWalk (top, &walk_funcs, &data, true); 634 setlocale (LC_NUMERIC, lc_numeric); 635 637 636 if (evbuffer_get_length (buf)) 638 637 evbuffer_add_printf (buf, "\n");
Note: See TracChangeset
for help on using the changeset viewer.