mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed handling descriptor loops in 'libsi'
This commit is contained in:
parent
1bc35792d1
commit
246a1c99bb
4
HISTORY
4
HISTORY
@ -2838,7 +2838,7 @@ Video Disk Recorder Revision History
|
||||
- Added some missing cStatus::MsgOsdTextItem() calls (thanks to Oliver Endriss for
|
||||
reporting this one).
|
||||
|
||||
2004-05-29: Version 1.3.9
|
||||
2004-05-31: Version 1.3.9
|
||||
|
||||
- Completed Croatian language texts (thanks to Drazen Dupor).
|
||||
- New iso8859-2 font to fix the problem with program freezes (thanks to Drazen Dupor).
|
||||
@ -2860,3 +2860,5 @@ Video Disk Recorder Revision History
|
||||
"Editing process finished" message (thanks to Oliver Endriss for reporting this
|
||||
one).
|
||||
- Fixed the height of the channel display in the "Classic VDR" skin.
|
||||
- Fixed handling descriptor loops in 'libsi', which had sometimes caused invalid
|
||||
CA ids to be added to the channel definitions (thanks to Marcel Wiesweg).
|
||||
|
@ -6,7 +6,7 @@
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* $Id: si.c 1.9 2004/03/07 10:50:09 kls Exp $
|
||||
* $Id: si.c 1.10 2004/05/29 17:06:23 kls Exp $
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
@ -112,7 +112,7 @@ Descriptor *DescriptorLoop::getNext(Iterator &it, DescriptorTag tag, bool return
|
||||
Descriptor *d=0;
|
||||
if (it.i<getLength()) {
|
||||
const unsigned char *p=data.getData(it.i);
|
||||
const unsigned char *end=p+getLength();
|
||||
const unsigned char *end=p+getLength()-it.i;
|
||||
while (p < end) {
|
||||
if (Descriptor::getDescriptorTag(p) == tag) {
|
||||
d=createDescriptor(it.i, returnUnimplemetedDescriptor);
|
||||
@ -130,7 +130,7 @@ Descriptor *DescriptorLoop::getNext(Iterator &it, DescriptorTag *tags, int array
|
||||
Descriptor *d=0;
|
||||
if (it.i<getLength()) {
|
||||
const unsigned char *p=data.getData(it.i);
|
||||
const unsigned char *end=p+getLength();
|
||||
const unsigned char *end=p+getLength()-it.i;
|
||||
while (p < end) {
|
||||
for (int u=0; u<arrayLength;u++)
|
||||
if (Descriptor::getDescriptorTag(p) == tags[u]) {
|
||||
|
Loading…
Reference in New Issue
Block a user