X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fbase%2Fencoding.cpp;h=45fea10249c1c4206e1b5375df5ba5b61cc4ef01;hb=624cd1811f54808d23a50840bb35494e4e5ca3b6;hp=e865169913ac8663bbbd6581484b847520e6bb26;hpb=f94e2c9821eb8784ca03b7122485d4720ec6d6e6;p=vuplus_dvbapp diff --git a/lib/base/encoding.cpp b/lib/base/encoding.cpp index e865169..45fea10 100644 --- a/lib/base/encoding.cpp +++ b/lib/base/encoding.cpp @@ -1,9 +1,19 @@ +#include #include #include -#include eDVBTextEncodingHandler encodingHandler; // the one and only instance +inline char toupper(char c) +{ + switch (c) + { + case 'a' ... 'z': + return c-32; + } + return c; +} + eDVBTextEncodingHandler::eDVBTextEncodingHandler() { const char * file=DATADIR "/enigma2/encoding.conf"; @@ -19,7 +29,13 @@ eDVBTextEncodingHandler::eDVBTextEncodingHandler() continue; int tsid, onid, encoding; if ( sscanf( line, "%s ISO8859-%d", countrycode, &encoding ) == 2 ) + { + m_CountryCodeDefaultMapping[countrycode]=encoding; + countrycode[0]=toupper(countrycode[0]); + countrycode[1]=toupper(countrycode[1]); + countrycode[2]=toupper(countrycode[2]); m_CountryCodeDefaultMapping[countrycode]=encoding; + } else if ( (sscanf( line, "0x%x 0x%x ISO8859-%d", &tsid, &onid, &encoding ) == 3 ) ||(sscanf( line, "%d %d ISO8859-%d", &tsid, &onid, &encoding ) == 3 ) ) m_TransponderDefaultMapping[(tsid<<16)|onid]=encoding;