fix bug: last char in removeDVBChars was removed
authorFelix Domke <tmbinc@elitedvb.net>
Fri, 11 Nov 2005 03:30:49 +0000 (03:30 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Fri, 11 Nov 2005 03:30:49 +0000 (03:30 +0000)
lib/base/estring.cpp

index 22b65698d2916ace5c2a5f36dab717fe6f1df944..4259c58f012fb6e0c9749b1226b6ed745b5bbe67 100644 (file)
@@ -595,13 +595,13 @@ std::string removeDVBChars(const std::string &s)
        
        int len = s.length();
        
        
        int len = s.length();
        
-       for(int i = 0; i < len-1; i++)
+       for(int i = 0; i < len; i++)
        {
                unsigned char c1 = s[i];
                unsigned int c;
                
                        /* UTF8? decode (but only simple) */
        {
                unsigned char c1 = s[i];
                unsigned int c;
                
                        /* UTF8? decode (but only simple) */
-               if(c1 > 0x80)
+               if((c1 > 0x80) && (i < len-1))
                {
                        unsigned char c2 = s[i + 1];
                        c = ((c1&0x3F)<<6) + (c2&0x3F);
                {
                        unsigned char c2 = s[i + 1];
                        c = ((c1&0x3F)<<6) + (c2&0x3F);