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;