From aa754a906bf71bc6b4dcc25fa63f727445b3fd60 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Wed, 22 Dec 2010 21:41:10 +0000 Subject: [PATCH] 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 --- src/kits/locale/Country.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/kits/locale/Country.cpp b/src/kits/locale/Country.cpp index 20e489b1d3..585238132a 100644 --- a/src/kits/locale/Country.cpp +++ b/src/kits/locale/Country.cpp @@ -80,22 +80,27 @@ BCountry::GetNativeName(BString& name) const status_t BCountry::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); + BMessage preferredLanguages; + status = BLocaleRoster::Default()->GetPreferredLanguages( + &preferredLanguages); + if (status == B_OK) + status = preferredLanguages.FindString("language", 0, &appLanguage); } else { appLanguage = displayLanguage->Code(); } - UnicodeString uString; - fICULocale->getDisplayName(Locale(appLanguage), uString); - name.Truncate(0); - BStringByteSink stringConverter(&name); - uString.toUTF8(stringConverter); + if (status == B_OK) { + UnicodeString uString; + fICULocale->getDisplayName(Locale(appLanguage), uString); + name.Truncate(0); + BStringByteSink stringConverter(&name); + uString.toUTF8(stringConverter); + } - return B_OK; + return status; }