1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed reading EPG data via the SVDRP command PUTE

This commit is contained in:
Klaus Schmidinger 2002-11-02 12:46:53 +01:00
parent 5dd0c65e35
commit bc766ad04b
3 changed files with 21 additions and 16 deletions

View File

@ -1671,7 +1671,7 @@ Video Disk Recorder Revision History
buttons of those that have already been learned (thanks to Oliver Endriss for buttons of those that have already been learned (thanks to Oliver Endriss for
reporting this one). reporting this one).
2002-11-01: Version 1.1.15 2002-11-02: Version 1.1.15
- Completely switched to the new CVS HEAD version of the linux-dvb driver. - Completely switched to the new CVS HEAD version of the linux-dvb driver.
The NEWSTRUCT compile time switch is now obsolete. The required driver is now The NEWSTRUCT compile time switch is now obsolete. The required driver is now
@ -1695,3 +1695,5 @@ Video Disk Recorder Revision History
may want to newly create their plugins' Makefiles with the new version of this may want to newly create their plugins' Makefiles with the new version of this
script, and adapt them to their individual needs (make sure you don't overwrite script, and adapt them to their individual needs (make sure you don't overwrite
your existing plugin directory - make a backup copy first!). your existing plugin directory - make a backup copy first!).
- Fixed reading EPG data via the SVDRP command PUTE (it changed the current
service ID).

26
eit.c
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: eit.c 1.58 2002/11/01 10:05:56 kls Exp $ * $Id: eit.c 1.59 2002/11/02 12:46:53 kls Exp $
***************************************************************************/ ***************************************************************************/
#include "eit.h" #include "eit.h"
@ -753,7 +753,7 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
if (*s == 'C') { if (*s == 'C') {
unsigned int uServiceID; unsigned int uServiceID;
if (1 == sscanf(s + 1, "%u", &uServiceID)) { if (1 == sscanf(s + 1, "%u", &uServiceID)) {
cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID); cSchedule *p = (cSchedule *)Schedules->AddServiceID(uServiceID);
if (p) { if (p) {
if (!cEventInfo::Read(f, p)) if (!cEventInfo::Read(f, p))
return false; return false;
@ -782,19 +782,21 @@ cSchedules::~cSchedules()
{ {
} }
/** */ /** */
const cSchedule *cSchedules::AddServiceID(unsigned short servid)
{
const cSchedule *p = GetSchedule(servid);
if (!p) {
Add(new cSchedule(servid));
p = GetSchedule(servid);
}
return p;
}
/** */
const cSchedule *cSchedules::SetCurrentServiceID(unsigned short servid) const cSchedule *cSchedules::SetCurrentServiceID(unsigned short servid)
{ {
pCurrentSchedule = GetSchedule(servid); pCurrentSchedule = AddServiceID(servid);
if (pCurrentSchedule == NULL) if (pCurrentSchedule)
{
Add(new cSchedule(servid));
pCurrentSchedule = GetSchedule(servid);
if (pCurrentSchedule == NULL)
return NULL;
}
uCurrentServiceID = servid; uCurrentServiceID = servid;
return pCurrentSchedule; return pCurrentSchedule;
} }
/** */ /** */

3
eit.h
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: eit.h 1.19 2002/10/13 09:28:06 kls Exp $ * $Id: eit.h 1.20 2002/11/02 12:36:36 kls Exp $
***************************************************************************/ ***************************************************************************/
#ifndef __EIT_H #ifndef __EIT_H
@ -112,6 +112,7 @@ private:
const cSchedule *pCurrentSchedule; const cSchedule *pCurrentSchedule;
unsigned short uCurrentServiceID; unsigned short uCurrentServiceID;
protected: protected:
const cSchedule *AddServiceID(unsigned short servid);
const cSchedule *SetCurrentServiceID(unsigned short servid); const cSchedule *SetCurrentServiceID(unsigned short servid);
void Cleanup(); void Cleanup();
public: public: