From: Frank Yung-Fong Tang <ftang@google.com> Date: Fri, 14 May 2021 19:03:36 +0000 (-0700) Subject: Revert "ICU-21569 Remove extra LocalUResourceBundlePointer" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=refs%2Fheads%2Frevert-1716-ICU-21569-Rm-ShandowFDictRes;p=icu Revert "ICU-21569 Remove extra LocalUResourceBundlePointer" This reverts commit b96a806c8f7f9d03c439c3430c236eb9607bed22. --- diff --git a/icu4c/source/common/lstmbe.cpp b/icu4c/source/common/lstmbe.cpp index 3da2289a1a3..b1f0cdd10aa 100644 --- a/icu4c/source/common/lstmbe.cpp +++ b/icu4c/source/common/lstmbe.cpp @@ -408,19 +408,18 @@ LSTMData::LSTMData(UResourceBundle* rb, UErrorCode &status) int32_t data_len = 0; const int32_t* data = ures_getIntVector(fDataRes, &data_len, &status); if (U_FAILURE(status)) return; - fDictRes = ures_getByKey(rb, "dict", nullptr, &status); - if (U_FAILURE(status)) return; - U_ASSERT(fDictRes != nullptr); - int32_t num_index = ures_getSize(fDictRes); + LocalUResourceBundlePointer fDictRes( + ures_getByKey(rb, "dict", nullptr, &status)); + int32_t num_index = ures_getSize(fDictRes.getAlias()); fDict = uhash_open(uhash_hashUChars, uhash_compareUChars, nullptr, &status); if (U_FAILURE(status)) return; - ures_resetIterator(fDictRes); + ures_resetIterator(fDictRes.getAlias()); int32_t idx = 0; // put dict into hash - while(ures_hasNext(fDictRes)) { + while(ures_hasNext(fDictRes.getAlias())) { const char *tempKey = nullptr; - const UChar* str = ures_getNextString(fDictRes, nullptr, &tempKey, &status); + const UChar* str = ures_getNextString(fDictRes.getAlias(), nullptr, &tempKey, &status); if (U_FAILURE(status)) return; uhash_putiAllowZero(fDict, (void*)str, idx++, &status); if (U_FAILURE(status)) return;