| Index: source/i18n/coll.cpp
|
| diff --git a/source/i18n/coll.cpp b/source/i18n/coll.cpp
|
| index c4845f2b1f9e62e77fbe9336abe01a1d700bafff..cb10f23696b45e1dd136e0c1fee610dc425fb04d 100644
|
| --- a/source/i18n/coll.cpp
|
| +++ b/source/i18n/coll.cpp
|
| @@ -869,37 +869,23 @@ Collator::getAvailableLocales(void)
|
|
|
| StringEnumeration* U_EXPORT2
|
| Collator::getKeywords(UErrorCode& status) {
|
| - // This is a wrapper over ucol_getKeywords
|
| - UEnumeration* uenum = ucol_getKeywords(&status);
|
| - if (U_FAILURE(status)) {
|
| - uenum_close(uenum);
|
| - return NULL;
|
| - }
|
| - return new UStringEnumeration(uenum);
|
| + return UStringEnumeration::fromUEnumeration(
|
| + ucol_getKeywords(&status), status);
|
| }
|
|
|
| StringEnumeration* U_EXPORT2
|
| Collator::getKeywordValues(const char *keyword, UErrorCode& status) {
|
| - // This is a wrapper over ucol_getKeywordValues
|
| - UEnumeration* uenum = ucol_getKeywordValues(keyword, &status);
|
| - if (U_FAILURE(status)) {
|
| - uenum_close(uenum);
|
| - return NULL;
|
| - }
|
| - return new UStringEnumeration(uenum);
|
| + return UStringEnumeration::fromUEnumeration(
|
| + ucol_getKeywordValues(keyword, &status), status);
|
| }
|
|
|
| StringEnumeration* U_EXPORT2
|
| Collator::getKeywordValuesForLocale(const char* key, const Locale& locale,
|
| UBool commonlyUsed, UErrorCode& status) {
|
| - // This is a wrapper over ucol_getKeywordValuesForLocale
|
| - UEnumeration *uenum = ucol_getKeywordValuesForLocale(key, locale.getName(),
|
| - commonlyUsed, &status);
|
| - if (U_FAILURE(status)) {
|
| - uenum_close(uenum);
|
| - return NULL;
|
| - }
|
| - return new UStringEnumeration(uenum);
|
| + return UStringEnumeration::fromUEnumeration(
|
| + ucol_getKeywordValuesForLocale(
|
| + key, locale.getName(), commonlyUsed, &status),
|
| + status);
|
| }
|
|
|
| Locale U_EXPORT2
|
|
|