]> granicus.if.org Git - icu/commitdiff
ICU-9669 Allow caller to pass NULL for len when calling ures_getStringByKeyWithFallback.
authorTravis Keep <keep94@gmail.com>
Mon, 19 Nov 2012 18:19:51 +0000 (18:19 +0000)
committerTravis Keep <keep94@gmail.com>
Mon, 19 Nov 2012 18:19:51 +0000 (18:19 +0000)
X-SVN-Rev: 32866

icu4c/source/common/uresbund.cpp

index 0404e36a821e3b0cd7cda7fbf5cefe2f711e1bb3..282396ba46771b885116995ed15bda7723672f4a 100644 (file)
@@ -1670,13 +1670,17 @@ ures_getStringByKeyWithFallback(const UResourceBundle *resB,
     const UChar* retVal = NULL;
     ures_initStackObject(&stack);
     ures_getByKeyWithFallback(resB, inKey, &stack, status);
-    retVal = ures_getString(&stack, len, status);
+    int32_t length;
+    retVal = ures_getString(&stack, &length, status);
     ures_close(&stack);
-    if ( retVal != NULL && u_strlen(retVal) == 3 && retVal[0] == EMPTY_SET && retVal[1] == EMPTY_SET && retVal[2] == EMPTY_SET ) {
+    if ( retVal != NULL && length == 3 && retVal[0] == EMPTY_SET && retVal[1] == EMPTY_SET && retVal[2] == EMPTY_SET ) {
         retVal = NULL;
-        *len = 0;
+        length = 0;
         *status = U_MISSING_RESOURCE_ERROR;
     }
+    if (len != NULL) {
+        *len = length;
+    }
     return retVal;
 }