service/event.cpp: use strncasecmp instead of (stupid) c++ stuff
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 6 Jul 2011 09:17:02 +0000 (11:17 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 6 Jul 2011 09:17:02 +0000 (11:17 +0200)
refs #785

lib/service/event.cpp

index 85c8f5f68e625be1bc68dd78c1f8c3788c8f1291..2a4cb0d1fbaed478a90d0129f95a25fb9fb50df5 100644 (file)
@@ -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);
                                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())
                                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);
                                {
                                        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);
                                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())
                                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;
                                {
                                        m_extended_description += convertDVBUTF8(eed->getText(), table, tsidonid);
                                        retval=1;