Fix locale for decimal points

resolves #514
This commit is contained in:
Christopher Dunn
2016-08-21 20:12:53 -05:00
parent b9afdf190d
commit 094a7d8564
2 changed files with 14 additions and 0 deletions

View File

@@ -5,6 +5,7 @@
#ifndef LIB_JSONCPP_JSON_TOOL_H_INCLUDED
#define LIB_JSONCPP_JSON_TOOL_H_INCLUDED
#include <clocale>
/* This header provides common string manipulation support, such as UTF-8,
* portable conversion from/to string...
@@ -82,6 +83,18 @@ static inline void fixNumericLocale(char* begin, char* end) {
}
}
static inline void fixNumericLocaleInput(char* begin, char* end) {
struct lconv* lc = localeconv();
if ((lc != NULL) && (*(lc->decimal_point) != '.')) {
while (begin < end) {
if (*begin == '.') {
*begin = *(lc->decimal_point);
}
++begin;
}
}
}
} // namespace Json {
#endif // LIB_JSONCPP_JSON_TOOL_H_INCLUDED