summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-11-02 12:46:53 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2002-11-02 12:46:53 +0100
commitbc766ad04b8d344cd750cec74b8a0bc2300b8ef6 (patch)
treecee79d542917a881f0fba749fa8425db011df4d0
parent5dd0c65e3519c21f79b0e8f69df01c28223e6283 (diff)
downloadvdr-bc766ad04b8d344cd750cec74b8a0bc2300b8ef6.tar.gz
vdr-bc766ad04b8d344cd750cec74b8a0bc2300b8ef6.tar.bz2
Fixed reading EPG data via the SVDRP command PUTE
-rw-r--r--HISTORY4
-rw-r--r--eit.c30
-rw-r--r--eit.h3
3 files changed, 21 insertions, 16 deletions
diff --git a/HISTORY b/HISTORY
index bc8b61f7..8d62f406 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/eit.c b/eit.c
index b608fc46..12045d63 100644
--- a/eit.c
+++ b/eit.c
@@ -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
diff --git a/eit.h b/eit.h
index 6ebd48f3..53740032 100644
--- a/eit.h
+++ b/eit.h
@@ -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: