On 08/26/09 06:52, Timothy D. Lenz wrote:
>>From the auther of the atsc plugin:
> 
> Yes, that's from the plugin. To fix it, find the following line in VDR's 
> channels.c
> 
> Code:
> dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to 
> %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf,
> OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);
> 
> and change it to
> 
> Code:
> if (Number())
>   dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to 
> %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf,
> OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);

Looks like there were several places where a check for Number() was missing.
The attached patch fixes this.

Klaus
--- channels.c	2009/08/16 15:08:49	2.7
+++ channels.c	2009/08/30 11:25:50
@@ -508,7 +508,8 @@
      q = NewSpidsBuf;
      q += IntArrayToString(q, Spids, 10, SLangs);
      *q = 0;
-     dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf, OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);
+     if (Number())
+        dsyslog("changing pids of channel %d from %d+%d=%d:%s:%s:%d to %d+%d=%d:%s:%s:%d", Number(), vpid, ppid, vtype, OldApidsBuf, OldSpidsBuf, tpid, Vpid, Ppid, Vtype, NewApidsBuf, NewSpidsBuf, Tpid);
      vpid = Vpid;
      ppid = Ppid;
      vtype = Vtype;
@@ -558,7 +559,8 @@
      char NewCaIdsBuf[MAXCAIDS * 5 + 10];
      IntArrayToString(OldCaIdsBuf, caids, 16);
      IntArrayToString(NewCaIdsBuf, CaIds, 16);
-     dsyslog("changing caids of channel %d from %s to %s", Number(), OldCaIdsBuf, NewCaIdsBuf);
+     if (Number())
+        dsyslog("changing caids of channel %d from %s to %s", Number(), OldCaIdsBuf, NewCaIdsBuf);
      for (int i = 0; i <= MAXCAIDS; i++) { // <= to copy the terminating 0
          caids[i] = CaIds[i];
          if (!CaIds[i])
@@ -574,7 +576,7 @@
   if (Level > 0) {
      modification |= CHANNELMOD_CA;
      Channels.SetModified();
-     if (Level > 1)
+     if (Number() && Level > 1)
         dsyslog("changing ca descriptors of channel %d", Number());
      }
 }
@@ -622,7 +624,8 @@
      }
   else
      q += sprintf(q, " none");
-  dsyslog(buffer);
+  if (Number())
+     dsyslog(buffer);
 }
 
 void cChannel::SetRefChannel(cChannel *RefChannel)
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to