Fix CID-2460:

* check result of BMessage::FindString() (plus more ...)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39919 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe
2010-12-22 21:41:10 +00:00
parent 521f1d058d
commit aa754a906b
+14 -9
View File
@@ -80,22 +80,27 @@ BCountry::GetNativeName(BString& name) const
status_t status_t
BCountry::GetName(BString& name, const BLanguage* displayLanguage) const BCountry::GetName(BString& name, const BLanguage* displayLanguage) const
{ {
status_t status = B_OK;
BString appLanguage; BString appLanguage;
if (displayLanguage == NULL) { if (displayLanguage == NULL) {
BMessage preferredLanguage; BMessage preferredLanguages;
BLocaleRoster::Default()->GetPreferredLanguages(&preferredLanguage); status = BLocaleRoster::Default()->GetPreferredLanguages(
preferredLanguage.FindString("language", 0, &appLanguage); &preferredLanguages);
if (status == B_OK)
status = preferredLanguages.FindString("language", 0, &appLanguage);
} else { } else {
appLanguage = displayLanguage->Code(); appLanguage = displayLanguage->Code();
} }
UnicodeString uString; if (status == B_OK) {
fICULocale->getDisplayName(Locale(appLanguage), uString); UnicodeString uString;
name.Truncate(0); fICULocale->getDisplayName(Locale(appLanguage), uString);
BStringByteSink stringConverter(&name); name.Truncate(0);
uString.toUTF8(stringConverter); BStringByteSink stringConverter(&name);
uString.toUTF8(stringConverter);
}
return B_OK; return status;
} }