bool eServiceEvent::loadLanguage(Event *evt, std::string lang, int tsidonid)
{
bool retval=0;
- for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end() && !retval; ++desc)
+ for (DescriptorConstIterator desc = evt->getDescriptors()->begin(); desc != evt->getDescriptors()->end(); ++desc)
{
switch ((*desc)->getTag())
{
const ShortEventDescriptor *sed = (ShortEventDescriptor*)*desc;
const std::string &cc = sed->getIso639LanguageCode();
int table=encodingHandler.getCountryCodeDefaultMapping(cc);
- if (lang.empty() || cc == lang)
+ if (lang.empty())
+ lang = cc; // use first found language
+ if (cc == lang)
{
m_event_name = convertDVBUTF8(sed->getEventName(), table, tsidonid);
m_short_description = convertDVBUTF8(sed->getText(), table, tsidonid);
const ExtendedEventDescriptor *eed = (ExtendedEventDescriptor*)*desc;
const std::string &cc = eed->getIso639LanguageCode();
int table=encodingHandler.getCountryCodeDefaultMapping(cc);
- if (lang.empty() || cc == lang)
+ if (lang.empty())
+ lang = cc; // use first found language
+ if (cc == lang)
{
m_extended_description += convertDVBUTF8(eed->getText(), table, tsidonid);
retval=1;