aboutsummaryrefslogtreecommitdiff
path: root/lib/jsoncpp
diff options
context:
space:
mode:
authortopfs2 <topfs2@svn>2010-11-04 21:05:57 +0000
committertopfs2 <topfs2@svn>2010-11-04 21:05:57 +0000
commitfef0c21f97f41ef199c87efa5c8c31971dcd7bec (patch)
tree4a51ffbe534e13bc26f9216d8c775e200919630d /lib/jsoncpp
parent31e425e9983e0ae0b0912b361059ec24449f7412 (diff)
Fixed always print real values in json writer with point as decimal mark
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@35163 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'lib/jsoncpp')
-rw-r--r--lib/jsoncpp/jsoncpp/src/lib_json/json_writer.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/jsoncpp/jsoncpp/src/lib_json/json_writer.cpp b/lib/jsoncpp/jsoncpp/src/lib_json/json_writer.cpp
index f2f8311514..2f17428954 100644
--- a/lib/jsoncpp/jsoncpp/src/lib_json/json_writer.cpp
+++ b/lib/jsoncpp/jsoncpp/src/lib_json/json_writer.cpp
@@ -71,7 +71,17 @@ std::string valueToString( double value )
#else
sprintf(buffer, "%#.16g", value);
#endif
- char* ch = buffer + strlen(buffer) - 1;
+ char* ch = buffer;
+ // Incase sprintf have written ',' as decimal point switch it to '.'
+ while (*ch != '\0'){
+ if (*ch == ','){
+ *ch = '.';
+ break;
+ }
+ ch++;
+ }
+
+ ch = buffer + strlen(buffer) - 1;
if (*ch != '0') return buffer; // nothing to truncate, so save time
while(ch > buffer && *ch == '0'){
--ch;