Merge "Change ICU .dat file location"
diff --git a/libs/minikin/LocaleListCache.cpp b/libs/minikin/LocaleListCache.cpp
index c191ea6..15156cd 100644
--- a/libs/minikin/LocaleListCache.cpp
+++ b/libs/minikin/LocaleListCache.cpp
@@ -49,10 +49,13 @@
         return 0;
     }
 
-    // Preserve "und" and "und-****" since uloc_addLikelySubtags changes "und" to "en-Latn-US".
-    if (strncmp(output, "und", 3) == 0 &&
-        (outLength == 3 || (outLength == 8 && output[3] == '_'))) {
-        output[3] = '-';  // to be language tag.
+    // Preserve "" and "_****" since uloc_addLikelySubtags changes "" to "en_Latn_US".
+    if (outLength == 0 || (outLength == 5 && output[0] == '_')) {
+        if (output[0] == '_') {
+            output[0] = '-';
+        }
+        std::string buf(output, outLength);
+        outLength = (size_t)snprintf(output, outSize, "und%s", buf.c_str());
         return outLength;
     }