diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/service/event.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/service/event.cpp b/lib/service/event.cpp index 85c8f5f6..2a4cb0d1 100644 --- a/lib/service/event.cpp +++ b/lib/service/event.cpp @@ -84,11 +84,9 @@ bool eServiceEvent::loadLanguage(Event *evt, std::string lang, int tsidonid) const ShortEventDescriptor *sed = (ShortEventDescriptor*)*desc; const std::string &cc = sed->getIso639LanguageCode(); int table=encodingHandler.getCountryCodeDefaultMapping(cc); - std::string s2; - std::transform(cc.begin(), cc.end(), s2.begin(), tolower); if (lang.empty()) - lang = s2; // use first found language - if (lang == s2) + lang = cc; // use first found language + if (!strncasecmp(lang.c_str(), cc.c_str(), 3)) { m_event_name = convertDVBUTF8(replace_all(replace_all(sed->getEventName(), "\n", " "), "\t", " "), table, tsidonid); m_short_description = convertDVBUTF8(sed->getText(), table, tsidonid); @@ -101,11 +99,9 @@ bool eServiceEvent::loadLanguage(Event *evt, std::string lang, int tsidonid) const ExtendedEventDescriptor *eed = (ExtendedEventDescriptor*)*desc; const std::string &cc = eed->getIso639LanguageCode(); int table=encodingHandler.getCountryCodeDefaultMapping(cc); - std::string s2; - std::transform(cc.begin(), cc.end(), s2.begin(), tolower); if (lang.empty()) - lang = s2; // use first found language - if (lang == s2) + lang = cc; // use first found language + if (!strncasecmp(lang.c_str(), cc.c_str(), 3)) { m_extended_description += convertDVBUTF8(eed->getText(), table, tsidonid); retval=1; |
