vdr-1.7.22 error while reading (config files...)

Message ID 20120108132413.3bda3e28@zz.infonux.home
State New
Headers

Commit Message

Infonux Jan. 8, 2012, 12:24 p.m. UTC
  1) I forgot to report that vdr is compiled with flowing patch:


2) and libiconv-full-1.11.1 with this patch:
http://pastebin.com/Sug25Edd
iconv.h here :http://pastebin.com/67wpbrtW

Thanks.
  

Comments

Infonux Jan. 8, 2012, 3:38 p.m. UTC | #1
debug using strace:

stat64(0xb67818, 0x7f939de8)            = 0
stat64(0xb67818, 0x7f939de8)            = 0
access("/media/setup.conf", F_OK)       = 0
gettid()                                = 1609
time([1326035707])                      = 1326035707
open("/etc/TZ", O_RDONLY)               = 4
read(4, "CET-1CEST-2,M3.5.0/02:00:00,M10."..., 68) = 45
close(4)                                = 0
send(3, "<11>Jan  8 16:15:07 vdr: [1609] "..., 58, MSG_NOSIGNAL) = 58
open("/media/setup.conf", O_RDONLY|O_LARGEFILE) = 4
ioctl(4, TIOCNXCL, 0x7f939de8)          = -1 ENOTTY (Inappropriate
ioctl for device) read(4, "AntiAlias = 1\nAudioLanguages = f"..., 4096)
= 4096 brk(0xb6b000)                           = 0xb6b000
brk(0xb6c000)                           = 0xb6c000
brk(0xb6d000)                           = 0xb6d000
read(4, "xineliboutput.OSD.DvbSubtitles ="..., 4096) = 1333
brk(0xb6e000)                           = 0xb6e000
read(4, "", 4096)                       = 0
close(4)                                = 0
gettid()                                = 1609
time([1326035707])                      = 1326035707
open("/etc/TZ", O_RDONLY)               = 4
read(4, "CET-1CEST-2,M3.5.0/02:00:00,M10."..., 68) = 45
close(4)                                = 0
send(3, "<11>Jan  8 16:15:07 vdr: [1609] "..., 88, MSG_NOSIGNAL) = 88
access("/media/sources.conf", F_OK)     = 0
gettid()                                = 1609
time([1326035707])                      = 1326035707
open("/etc/TZ", O_RDONLY)               = 4
read(4, "CET-1CEST-2,M3.5.0/02:00:00,M10."..., 68) = 45
close(4)                                = 0
send(3, "<11>Jan  8 16:15:07 vdr: [1609] "..., 60, MSG_NOSIGNAL) = 60
open("/media/sources.conf", O_RDONLY|O_LARGEFILE) = 4
ioctl(4, TIOCNXCL, 0x7f939e28)          = -1 ENOTTY (Inappropriate
ioctl for device) read(4, "S19.0E ASTRA\n", 4096)         = 13
gettid()                                = 1609
time([1326035707])                      = 1326035707
open("/etc/TZ", O_RDONLY)               = 5
read(5, "CET-1CEST-2,M3.5.0/02:00:00,M10."..., 68) = 45
close(5)                                = 0
send(3, "<11>Jan  8 16:15:07 vdr: [1609] "..., 76, MSG_NOSIGNAL) = 76
read(4, "", 4096)                       = 0
close(4)                                = 0
write(2, "vdr: error while reading '", 26vdr: error while reading ') =
26 write(2, "/media/sources.conf", 19/media/sources.conf)     = 19
write(2, "'\n", 2'
)                      = 2
access("/media/diseqc.conf", F_OK)      = -1 ENOENT (No such file or
directory) access("/media/scr.conf", F_OK)         = -1 ENOENT (No such
file or directory) access("/media/channels.conf", F_OK)    = 0
gettid()                                = 1609
time([1326035707])                      = 1326035707
open("/etc/TZ", O_RDONLY)               = 4
read(4, "CET-1CEST-2,M3.5.0/02:00:00,M10."..., 68) = 45
close(4)                                = 0


Thanks.
  

Patch

Index: vdr-1.7.22/libsi/si.c
===================================================================
--- vdr-1.7.22.orig/libsi/si.c  2011-03-22 12:19:25.694769064 +0100
+++ vdr-1.7.22/libsi/si.c       2011-03-22 12:20:07.526770314 +0100
@@ -381,7 +381,7 @@ 
   if (SystemCharacterTable) {
      iconv_t cd = iconv_open(SystemCharacterTable, fromCode);
      if (cd != (iconv_t)-1) {
-        char *fromPtr = (char *)from;
+        const char *fromPtr = from;
         while (fromLength > 0 && toLength > 1) {
            if (iconv(cd, &fromPtr, &fromLength, &to, &toLength) ==
size_t(-1)) { if (errno == EILSEQ) {
Index: vdr-1.7.22/tools.c
===================================================================
--- vdr-1.7.22.orig/tools.c     2011-03-22 12:17:47.022769064 +0100
+++ vdr-1.7.22/tools.c  2011-03-22 12:19:17.290769404 +0100
@@ -818,7 +818,7 @@ 
 const char *cCharSetConv::Convert(const char *From, char *To, size_t
ToLength) {
   if (cd != (iconv_t)-1 && From && *From) {
-     char *FromPtr = (char *)From;
+     const char *FromPtr = From;
      size_t FromLength = strlen(From);
      char *ToPtr = To;
      if (!ToPtr) {