From 0119051c93fdaf18eaeb63634fc4c5d0be15d68a Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 22 Dec 2010 22:44:31 +0000 Subject: [PATCH] Fix CID-2358: * check result of BMessage::FindString() (plus more ...) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39922 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/locale/Language.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/kits/locale/Language.cpp b/src/kits/locale/Language.cpp index e686b5a0ab..b61f25fab2 100644 --- a/src/kits/locale/Language.cpp +++ b/src/kits/locale/Language.cpp @@ -127,23 +127,29 @@ BLanguage::GetNativeName(BString& name) const status_t BLanguage::GetName(BString& name, const BLanguage* displayLanguage) const { + status_t status = B_OK; + BString appLanguage; if (displayLanguage == NULL) { BMessage preferredLanguage; - BLocaleRoster::Default()->GetPreferredLanguages(&preferredLanguage); - preferredLanguage.FindString("language", 0, &appLanguage); + status = BLocaleRoster::Default()->GetPreferredLanguages( + &preferredLanguage); + if (status == B_OK) + status = preferredLanguage.FindString("language", 0, &appLanguage); } else { appLanguage = displayLanguage->Code(); } - UnicodeString string; - fICULocale->getDisplayName(Locale(appLanguage), string); + if (status == B_OK) { + UnicodeString string; + fICULocale->getDisplayName(Locale(appLanguage), string); - name.Truncate(0); - BStringByteSink converter(&name); - string.toUTF8(converter); + name.Truncate(0); + BStringByteSink converter(&name); + string.toUTF8(converter); + } - return B_OK; + return status; }