Kaydet (Commit) 41b37fb1 authored tarafından Eike Rathke's avatar Eike Rathke

aVec may be empty, do not unconditionally access aVec[0]

Change-Id: I6f35fee1e4883cfb15517f56387cd85e2e2f7370
üst 565ca0aa
...@@ -1280,27 +1280,27 @@ LanguageTag & LanguageTag::makeFallback() ...@@ -1280,27 +1280,27 @@ LanguageTag & LanguageTag::makeFallback()
if (!aVariants.isEmpty()) if (!aVariants.isEmpty())
{ {
aTmp = aLanguage + "-" + aScript + "-" + aCountry + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aCountry + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
// Language with variant but without country before language // Language with variant but without country before language
// without variant but with country. // without variant but with country.
aTmp = aLanguage + "-" + aScript + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
bHaveLanguageScriptVariant = true; bHaveLanguageScriptVariant = true;
} }
aTmp = aLanguage + "-" + aScript + "-" + aCountry; aTmp = aLanguage + "-" + aScript + "-" + aCountry;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
if (!aVariants.isEmpty() && !bHaveLanguageScriptVariant) if (!aVariants.isEmpty() && !bHaveLanguageScriptVariant)
{ {
aTmp = aLanguage + "-" + aScript + "-" + aVariants; aTmp = aLanguage + "-" + aScript + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
aTmp = aLanguage + "-" + aScript; aTmp = aLanguage + "-" + aScript;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
bool bHaveLanguageVariant = false; bool bHaveLanguageVariant = false;
...@@ -1309,27 +1309,27 @@ LanguageTag & LanguageTag::makeFallback() ...@@ -1309,27 +1309,27 @@ LanguageTag & LanguageTag::makeFallback()
if (!aVariants.isEmpty()) if (!aVariants.isEmpty())
{ {
aTmp = aLanguage + "-" + aCountry + "-" + aVariants; aTmp = aLanguage + "-" + aCountry + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
// Language with variant but without country before language // Language with variant but without country before language
// without variant but with country. // without variant but with country.
aTmp = aLanguage + "-" + aVariants; aTmp = aLanguage + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
bHaveLanguageVariant = true; bHaveLanguageVariant = true;
} }
aTmp = aLanguage + "-" + aCountry; aTmp = aLanguage + "-" + aCountry;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
if (!aVariants.isEmpty() && !bHaveLanguageVariant) if (!aVariants.isEmpty() && !bHaveLanguageVariant)
{ {
aTmp = aLanguage + "-" + aVariants; aTmp = aLanguage + "-" + aVariants;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
} }
aTmp = aLanguage; aTmp = aLanguage;
if (aTmp != aVec[0]) if (aVec.empty() || aTmp != aVec[0])
aVec.push_back( aTmp); aVec.push_back( aTmp);
return aVec; return aVec;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment