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
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.
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
script, and adapt them to their individual needs (make sure you don't overwrite
your existing plugin directory - make a backup copy first!).
- Fixed reading EPG data via the SVDRP command PUTE (it changed the current
service ID).

30
eit.c
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (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"
@ -753,7 +753,7 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules)
if (*s == 'C') {
unsigned int uServiceID;
if (1 == sscanf(s + 1, "%u", &uServiceID)) {
cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID);
cSchedule *p = (cSchedule *)Schedules->AddServiceID(uServiceID);
if (p) {
if (!cEventInfo::Read(f, p))
return false;
@ -782,20 +782,22 @@ 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)
{
pCurrentSchedule = GetSchedule(servid);
if (pCurrentSchedule == NULL)
{
Add(new cSchedule(servid));
pCurrentSchedule = GetSchedule(servid);
if (pCurrentSchedule == NULL)
return NULL;
}
uCurrentServiceID = servid;
return pCurrentSchedule;
pCurrentSchedule = AddServiceID(servid);
if (pCurrentSchedule)
uCurrentServiceID = servid;
return pCurrentSchedule;
}
/** */
const cSchedule * cSchedules::GetSchedule() const

3
eit.h
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (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
@ -112,6 +112,7 @@ private:
const cSchedule *pCurrentSchedule;
unsigned short uCurrentServiceID;
protected:
const cSchedule *AddServiceID(unsigned short servid);
const cSchedule *SetCurrentServiceID(unsigned short servid);
void Cleanup();
public: