filter short name brakets in getContent ('N')
[enigma2.git] / lib / base / estring.cpp
index 014f6e7d89c33deb1ee933f5c63b89692a9aac95..487dceecceb630186a7ad5e47a6e8c1664efbe1e 100644 (file)
@@ -5,6 +5,24 @@
 #include <lib/base/encoding.h>
 #include <lib/base/estring.h>
 
 #include <lib/base/encoding.h>
 #include <lib/base/estring.h>
 
+std::string buildShortName( const std::string &str )
+{
+       std::string tmp;
+       static char stropen[3] = { 0xc2, 0x86, 0x00 };
+       static char strclose[3] = { 0xc2, 0x87, 0x00 };
+       unsigned int open=std::string::npos-1;
+       while ( (open = str.find(stropen, open+2)) != std::string::npos )
+       {
+               unsigned int close = str.find(strclose, open);
+               if ( close != std::string::npos )
+               {
+                       tmp+=str.substr( open+2, close-(open+2) );
+                       eDebug("now %s", tmp.c_str());
+               }
+       }
+       return tmp.length() ? tmp : str;
+}
+
 std::string getNum(int val, int sys)
 {
 //     Returns a string that contain the value val as string
 std::string getNum(int val, int sys)
 {
 //     Returns a string that contain the value val as string
@@ -376,7 +394,6 @@ std::string convertDVBUTF8(const unsigned char *data, int len, int table, int ts
                case 0x0:
                case 0xC ... 0xF:
                case 0x16 ... 0x1F:
                case 0x0:
                case 0xC ... 0xF:
                case 0x16 ... 0x1F:
-               default:
                        eDebug("reserved %d", data[0]);
                        ++i;
                        break;
                        eDebug("reserved %d", data[0]);
                        ++i;
                        break;