| Index: icu52/patches/nan.patch
|
| ===================================================================
|
| --- icu52/patches/nan.patch (revision 261238)
|
| +++ icu52/patches/nan.patch (working copy)
|
| @@ -1,65 +0,0 @@
|
| -Index: source/i18n/digitlst.cpp
|
| -===================================================================
|
| ---- source/i18n/digitlst.cpp (revision 88316)
|
| -+++ source/i18n/digitlst.cpp (working copy)
|
| -@@ -60,6 +60,18 @@
|
| -
|
| - U_NAMESPACE_BEGIN
|
| -
|
| -+static void
|
| -+loadDecimalChar() {
|
| -+ if (gDecimal == 0) {
|
| -+ char rep[MAX_DIGITS];
|
| -+ // For machines that decide to change the decimal on you,
|
| -+ // and try to be too smart with localization.
|
| -+ // This normally should be just a '.'.
|
| -+ sprintf(rep, "%+1.1f", 1.0);
|
| -+ gDecimal = rep[2];
|
| -+ }
|
| -+}
|
| -+
|
| - // -------------------------------------
|
| - // default constructor
|
| -
|
| -@@ -398,15 +410,6 @@
|
| - }
|
| - DigitList *nonConstThis = const_cast<DigitList *>(this);
|
| -
|
| -- if (gDecimal == 0) {
|
| -- char rep[MAX_DIGITS];
|
| -- // For machines that decide to change the decimal on you,
|
| -- // and try to be too smart with localization.
|
| -- // This normally should be just a '.'.
|
| -- sprintf(rep, "%+1.1f", 1.0);
|
| -- gDecimal = rep[2];
|
| -- }
|
| --
|
| - if (isZero()) {
|
| - nonConstThis->fDouble = 0.0;
|
| - if (decNumberIsNegative(fDecNumber)) {
|
| -@@ -441,6 +444,7 @@
|
| - }
|
| - U_ASSERT(uprv_strlen(&s[0]) < MAX_DBL_DIGITS+18);
|
| -
|
| -+ loadDecimalChar();
|
| - if (gDecimal != '.') {
|
| - char *decimalPt = strchr(s, '.');
|
| - if (decimalPt != NULL) {
|
| -@@ -727,6 +731,17 @@
|
| - sprintf(rep, "%+1.*e", MAX_DBL_DIGITS - 1, source);
|
| - U_ASSERT(uprv_strlen(rep) < sizeof(rep));
|
| -
|
| -+ // uprv_decNumberFromString() will parse the string expecting '.' as a
|
| -+ // decimal separator, however sprintf() can use ',' in certain locales.
|
| -+ // Overwrite a different decimal separator with '.' here before proceeding.
|
| -+ loadDecimalChar();
|
| -+ if (gDecimal != '.') {
|
| -+ char *decimalPt = strchr(rep, gDecimal);
|
| -+ if (decimalPt != NULL) {
|
| -+ *decimalPt = '.';
|
| -+ }
|
| -+ }
|
| -+
|
| - // Create a decNumber from the string.
|
| - uprv_decNumberFromString(fDecNumber, rep, &fContext);
|
| - uprv_decNumberTrim(fDecNumber);
|
|
|