diff options
author | topfs2 <topfs2@svn> | 2010-11-04 21:05:57 +0000 |
---|---|---|
committer | topfs2 <topfs2@svn> | 2010-11-04 21:05:57 +0000 |
commit | fef0c21f97f41ef199c87efa5c8c31971dcd7bec (patch) | |
tree | 4a51ffbe534e13bc26f9216d8c775e200919630d /lib/jsoncpp | |
parent | 31e425e9983e0ae0b0912b361059ec24449f7412 (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.cpp | 12 |
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; |