]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvb support: more fixes in conv_utf8() - fixes#2414
authorJaroslav Kysela <perex@perex.cz>
Thu, 23 Oct 2014 16:10:49 +0000 (18:10 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 23 Oct 2014 16:12:31 +0000 (18:12 +0200)
- add ucs2 for 0x14
- fix the first character skip for 0x15 (utf8)

src/input/mpegts/dvb_support.c

index cf67bb0bf7288b28e5bfc8d69dc17368a08c2624..7af24e5b3c962a6b38ef875bead31f02f0a275dc 100644 (file)
@@ -99,7 +99,7 @@ static inline size_t conv_UCS2(const uint8_t *src, size_t srclen,char *dst, size
 }
 
 static inline size_t conv_utf8(const uint8_t *src, size_t srclen,
-                              char *dst, size_t *dstlen)
+                               char *dst, size_t *dstlen)
 {
   while (srclen>0 && (*dstlen)>0) {
     *dst = (char) *src;
@@ -270,6 +270,7 @@ dvb_get_string
     break;
 
   case 0x0c ... 0x0f:
+    src++; srclen--;
     break;
 
   case 0x10: /* Table A.4 */
@@ -291,13 +292,21 @@ dvb_get_string
     break;
 
   case 0x12:
+    src++; srclen--;
+    break;
+
   case 0x14:
+    ic = convert_ucs2;
+    src++; srclen--;
     break;
 
   case 0x15:
     ic = convert_utf8;
+    src++; srclen--;
     break;
+
   case 0x16 ... 0x1f:
+    src++; srclen--;
     break;
 
   default: