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
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr