#include <limits.h>
#include <lib/base/elock.h>
#include <lib/base/eerror.h>
+#include <lib/base/estring.h>
static pthread_mutex_t lock=PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
}
}
-std::string convertDVBUTF8(unsigned char *data, int len, int table)
+std::string convertDVBUTF8(const std::string &s, int table)
+{
+ return convertDVBUTF8((const unsigned char*)s.c_str(), s.size(), table);
+}
+
+std::string convertDVBUTF8(const unsigned char *data, int len, int table)
{
int i;
if (!len)
int strnicmp(const char*, const char*, int);
std::string getNum(int num, int base=10);
-std::string convertDVBUTF8(unsigned char *data, int len, int table=5);
+std::string convertDVBUTF8(const unsigned char *data, int len, int table=5);
std::string convertUTF8DVB(const std::string &string); // with default ISO8859-5
+std::string convertDVBUTF8(const std::string &s, int table=5);
std::string convertLatin1UTF8(const std::string &string);
int isUTF8(const std::string &string);
#include <lib/dvb/db.h>
#include <lib/dvb/frontend.h>
#include <lib/base/eerror.h>
+#include <lib/base/estring.h>
#include <lib/dvb_si/sdt.h>
#include <lib/dvb_si/descriptor_tag.h>
#include <lib/dvb_si/service_descriptor.h>
RESULT eDVBService::getName(const eServiceReference &ref, std::string &name)
{
- name = m_service_name;
+ name = convertDVBUTF8(m_service_name);
return 0;
}
#include <lib/service/event.h>
+#include <lib/base/estring.h>
#include <lib/dvb_si/eit.h>
#include <lib/dvb_si/short_event_descriptor.h>
#include <lib/dvb_si/descriptor_tag.h>
case SHORT_EVENT_DESCRIPTOR:
{
const ShortEventDescriptor *sed = (ShortEventDescriptor*)*desc;
- m_event_name = sed->getEventName();
- m_description = sed->getText();
+ m_event_name = convertDVBUTF8(sed->getEventName());
+ m_description = convertDVBUTF8(sed->getText());
break;
}
}