Index: source/i18n/compactdecimalformat.cpp |
diff --git a/source/i18n/compactdecimalformat.cpp b/source/i18n/compactdecimalformat.cpp |
index 74d9c04191c5360ecaad5066797a5117b8ab0e91..2e5054775c22e781351d5013b08f0f81fb4d374c 100644 |
--- a/source/i18n/compactdecimalformat.cpp |
+++ b/source/i18n/compactdecimalformat.cpp |
@@ -1,6 +1,6 @@ |
/* |
******************************************************************************* |
-* Copyright (C) 1997-2014, International Business Machines Corporation and * |
+* Copyright (C) 1997-2015, International Business Machines Corporation and * |
* others. All Rights Reserved. * |
******************************************************************************* |
* |
@@ -242,10 +242,22 @@ CompactDecimalFormat::format( |
double number, |
UnicodeString& appendTo, |
FieldPosition& pos) const { |
+ UErrorCode status = U_ZERO_ERROR; |
+ return format(number, appendTo, pos, status); |
+} |
+ |
+UnicodeString& |
+CompactDecimalFormat::format( |
+ double number, |
+ UnicodeString& appendTo, |
+ FieldPosition& pos, |
+ UErrorCode &status) const { |
+ if (U_FAILURE(status)) { |
+ return appendTo; |
+ } |
DigitList orig, rounded; |
orig.set(number); |
UBool isNegative; |
- UErrorCode status = U_ZERO_ERROR; |
_round(orig, rounded, isNegative, status); |
if (U_FAILURE(status)) { |
return appendTo; |
@@ -279,6 +291,33 @@ CompactDecimalFormat::format( |
UnicodeString& |
CompactDecimalFormat::format( |
+ int32_t number, |
+ UnicodeString& appendTo, |
+ FieldPosition& pos) const { |
+ return format((double) number, appendTo, pos); |
+} |
+ |
+UnicodeString& |
+CompactDecimalFormat::format( |
+ int32_t number, |
+ UnicodeString& appendTo, |
+ FieldPosition& pos, |
+ UErrorCode &status) const { |
+ return format((double) number, appendTo, pos, status); |
+} |
+ |
+UnicodeString& |
+CompactDecimalFormat::format( |
+ int32_t /* number */, |
+ UnicodeString& appendTo, |
+ FieldPositionIterator* /* posIter */, |
+ UErrorCode& status) const { |
+ status = U_UNSUPPORTED_ERROR; |
+ return appendTo; |
+} |
+ |
+UnicodeString& |
+CompactDecimalFormat::format( |
int64_t number, |
UnicodeString& appendTo, |
FieldPosition& pos) const { |
@@ -287,6 +326,15 @@ CompactDecimalFormat::format( |
UnicodeString& |
CompactDecimalFormat::format( |
+ int64_t number, |
+ UnicodeString& appendTo, |
+ FieldPosition& pos, |
+ UErrorCode &status) const { |
+ return format((double) number, appendTo, pos, status); |
+} |
+ |
+UnicodeString& |
+CompactDecimalFormat::format( |
int64_t /* number */, |
UnicodeString& appendTo, |
FieldPositionIterator* /* posIter */, |
@@ -868,7 +916,7 @@ static void fillInMissing(CDFLocaleStyleData* result) { |
} |
} |
// Iterate over each variant. |
- int32_t pos = -1; |
+ int32_t pos = UHASH_FIRST; |
const UHashElement* element = uhash_nextElement(result->unitsByVariant, &pos); |
for (;element != NULL; element = uhash_nextElement(result->unitsByVariant, &pos)) { |
CDFUnit* units = (CDFUnit*) element->value.pointer; |