summaryrefslogtreecommitdiff
path: root/i18nlangtag
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2013-09-12 01:41:26 +0200
committerEike Rathke <erack@redhat.com>2013-09-12 01:42:12 +0200
commit41b37fb139c397f15a1d66adb21636d6693f963d (patch)
tree534998cd83da440152a49ba9f26c3b29b716279c /i18nlangtag
parent565ca0aa0adde34493033818ee52664da41cb931 (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.cxx20
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;
}