diff options
author | Eike Rathke <erack@redhat.com> | 2013-09-12 01:41:26 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-09-12 01:42:12 +0200 |
commit | 41b37fb139c397f15a1d66adb21636d6693f963d (patch) | |
tree | 534998cd83da440152a49ba9f26c3b29b716279c /i18nlangtag | |
parent | 565ca0aa0adde34493033818ee52664da41cb931 (diff) |
aVec may be empty, do not unconditionally access aVec[0]
Change-Id: I6f35fee1e4883cfb15517f56387cd85e2e2f7370
Diffstat (limited to 'i18nlangtag')
-rw-r--r-- | i18nlangtag/source/languagetag/languagetag.cxx | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx index 7e3a7d7d12e7..89f74f26ae8a 100644 --- a/i18nlangtag/source/languagetag/languagetag.cxx +++ b/i18nlangtag/source/languagetag/languagetag.cxx @@ -1280,27 +1280,27 @@ LanguageTag & LanguageTag::makeFallback() if (!aVariants.isEmpty()) { aTmp = aLanguage + "-" + aScript + "-" + aCountry + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); // Language with variant but without country before language // without variant but with country. aTmp = aLanguage + "-" + aScript + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); bHaveLanguageScriptVariant = true; } aTmp = aLanguage + "-" + aScript + "-" + aCountry; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); } if (!aVariants.isEmpty() && !bHaveLanguageScriptVariant) { aTmp = aLanguage + "-" + aScript + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); } aTmp = aLanguage + "-" + aScript; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); } bool bHaveLanguageVariant = false; @@ -1309,27 +1309,27 @@ LanguageTag & LanguageTag::makeFallback() if (!aVariants.isEmpty()) { aTmp = aLanguage + "-" + aCountry + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); // Language with variant but without country before language // without variant but with country. aTmp = aLanguage + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); bHaveLanguageVariant = true; } aTmp = aLanguage + "-" + aCountry; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); } if (!aVariants.isEmpty() && !bHaveLanguageVariant) { aTmp = aLanguage + "-" + aVariants; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); } aTmp = aLanguage; - if (aTmp != aVec[0]) + if (aVec.empty() || aTmp != aVec[0]) aVec.push_back( aTmp); return aVec; } |