From e7b9661887c547e340a65168d5299b0bca2d244d Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 28 Sep 2005 20:03:45 +0000 Subject: [PATCH] fixing int vs double output git-svn-id: svn://svn.open-ils.org/ILS/trunk@1881 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/apachemods/json_xml.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Open-ILS/src/apachemods/json_xml.c b/Open-ILS/src/apachemods/json_xml.c index 315affd671..669bdddbee 100644 --- a/Open-ILS/src/apachemods/json_xml.c +++ b/Open-ILS/src/apachemods/json_xml.c @@ -112,11 +112,18 @@ void _rest_xml_output(growing_buffer* buf, jsonObject* obj, char * obj_class, in } } else if(obj->type == JSON_NUMBER) { - if (notag) - buffer_fadd(buf,"%lf",tag, jsonObjectGetNumber(obj),tag); - else - buffer_fadd(buf,"<%s>%lf",tag, jsonObjectGetNumber(obj),tag); - + double x = jsonObjectGetNumber(obj); + if (notag) { + if (x == (int)x) + buffer_fadd(buf,"%d",tag, x,tag); + else + buffer_fadd(buf,"%lf",tag, x,tag); + } else { + if (x == (int)x) + buffer_fadd(buf,"<%s>%d",tag, x,tag); + else + buffer_fadd(buf,"<%s>%lf",tag, x,tag); + } } else if (obj->type == JSON_ARRAY) { if (!notag) { -- 2.43.2