ICU-21249 Fix warnings about uninitialized variables in locid.cpp
diff --git a/icu4c/source/common/locid.cpp b/icu4c/source/common/locid.cpp
index 4a7bf26..a00a7ab 100644
--- a/icu4c/source/common/locid.cpp
+++ b/icu4c/source/common/locid.cpp
@@ -1252,11 +1252,11 @@
continue;
}
- const char* replacedLanguage;
- const char* replacedScript;
- const char* replacedRegion;
- const char* replacedVariant;
- const char* replacedExtensions;
+ const char* replacedLanguage = nullptr;
+ const char* replacedScript = nullptr;
+ const char* replacedRegion = nullptr;
+ const char* replacedVariant = nullptr;
+ const char* replacedExtensions = nullptr;
parseLanguageReplacement(replacement,
replacedLanguage,
replacedScript,
@@ -1266,7 +1266,7 @@
toBeFreed,
status);
replacedLanguage =
- uprv_strcmp(replacedLanguage, "und") == 0 ?
+ (replacedLanguage != nullptr && uprv_strcmp(replacedLanguage, "und") == 0) ?
language : replacedLanguage;
replacedScript = deleteOrReplace(script, nullptr, replacedScript);
replacedRegion = deleteOrReplace(region, searchRegion, replacedRegion);