Compare commits

...

6 Commits

Author SHA1 Message Date
Klaus Schmidinger
178f2cacf9 Official release of version 2.4.7 2021-04-21 13:51:28 +02:00
Klaus Schmidinger
c276c6883d Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE 2021-01-04 14:58:59 +01:00
Klaus Schmidinger
163945045d Fixed handling $(PKG_CONFIG) in newplugin 2021-01-02 15:22:42 +01:00
Klaus Schmidinger
5f1e08f606 Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is given 2021-01-02 15:18:06 +01:00
Klaus Schmidinger
9f4c5cd785 The Makefile now makes sure the 'x' bit of Doxyfile.filter is set before calling doxygen 2021-01-02 15:11:20 +01:00
Klaus Schmidinger
3211df30df Fixed strreplace() to handle NULL strings 2021-01-02 15:05:48 +01:00
8 changed files with 43 additions and 14 deletions

View File

@ -2773,6 +2773,7 @@ Winfried K
for adding initialization of cDvbFrontend::frontendInfo
for improving handling missing VDRPluginDestroyer()
for fixing a compiler warning
for fixing handling $(PKG_CONFIG) in newplugin
Hans-Werner Hilse <hilse@web.de>
for adding the command line option --userdump to enable core dumps in case VDR
@ -2938,6 +2939,10 @@ Manuel Reimer <Manuel.Reimer@gmx.de>
for reporting a bug in moving channels between number groups in SVDRP's MOVC command
for fixing compatibility with current versions of glibc
for suggesting to make the SVDRP command DELC accept a channel id
for reporting a crash in the SVDRP command CLRE in case a non-existing channel
number is given
for reporting that LSTE doesn't work after PUTE in case a channel didn't already
have EPG data
Rene van den Braken <rene@vandenbraken.name>
for reporting a bug in writing the PCR pid into the PMT in
@ -3655,6 +3660,8 @@ J
for reporting a possible discrepancy of the primary device number in the LSTD and
PRIM commands
for adding support for EAC3 audio from other sources
for reporting a crash if a pattern timer spawns a timer that uses EPISODE and the
event has no short text
Stefan Verse <Verse@amotronics.de>
for fixing an occasional black screen when switching channels

12
HISTORY
View File

@ -9562,3 +9562,15 @@ Video Disk Recorder Revision History
- Fixed a compiler warning (thanks to Winfried Köhler).
- Fixed convertCharacterTable() in case iconv_open() fails (thanks to Helmut Binder).
- Official release.
2021-04-21: Version 2.4.7
- Fixed strreplace() to handle NULL strings (reported by Jürgen Schneider).
- Somewhere down the road the 'x' bit of Doxyfile.filter got lost, so the
Makefile now makes sure it is set before calling doxygen.
- Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is
given (reported by Manuel Reimer).
- Fixed handling $(PKG_CONFIG) in newplugin (thanks to Winfried Köhler).
- Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
(reported by Manuel Reimer).
- Official release.

View File

@ -4,7 +4,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Makefile 4.10 2020/06/27 09:13:04 kls Exp $
# $Id: Makefile 4.10.1.1 2021/01/02 15:11:20 kls Exp $
.DELETE_ON_ERROR:
@ -342,6 +342,7 @@ install-pc: vdr.pc
srcdoc:
@cat $(DOXYFILE) > $(DOXYFILE).tmp
@echo PROJECT_NUMBER = $(VDRVERSION) >> $(DOXYFILE).tmp
@chmod +x $(DOXYFILE).filter
$(DOXYGEN) $(DOXYFILE).tmp
@rm $(DOXYFILE).tmp

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 4.21 2020/12/22 17:23:51 kls Exp $
* $Id: config.h 4.21.1.1 2021/04/21 13:51:28 kls Exp $
*/
#ifndef __CONFIG_H
@ -22,13 +22,13 @@
// VDR's own version number:
#define VDRVERSION "2.4.6"
#define VDRVERSNUM 20406 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "2.4.7"
#define VDRVERSNUM 20407 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
#define APIVERSION "2.4.6"
#define APIVERSNUM 20406 // Version * 10000 + Major * 100 + Minor
#define APIVERSION "2.4.7"
#define APIVERSNUM 20407 // Version * 10000 + Major * 100 + Minor
// When loading plugins, VDR searches them by their APIVERSION, which
// may be smaller than VDRVERSION in case there have been no changes to

9
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
* $Id: epg.c 4.9 2019/05/20 09:55:22 kls Exp $
* $Id: epg.c 4.9.1.1 2021/01/04 14:58:58 kls Exp $
*/
#include "epg.h"
@ -1311,8 +1311,13 @@ bool cSchedules::Read(FILE *f)
fclose(f);
if (result) {
// Initialize the channels' schedule pointers, so that the first WhatsOn menu will come up faster:
for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel))
for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel)) {
if (const cSchedule *Schedule = Channel->schedule) {
if (!Schedule->ChannelID().Valid()) // this is the DummySchedule
Channel->schedule = NULL;
}
Schedules->GetSchedule(Channel);
}
}
return result;
}

View File

@ -12,7 +12,7 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: newplugin 4.4 2020/06/22 15:08:46 kls Exp $
# $Id: newplugin 4.4.1.1 2021/01/02 15:22:42 kls Exp $
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
@ -76,7 +76,7 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{
# Use package data if installed...otherwise assume we're under the VDR source directory:
PKG_CONFIG ?= pkg-config
PKGCFG = \$(if \$(VDRDIR),\$(shell $(PKG_CONFIG) --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell PKG_CONFIG_PATH="\$\$PKG_CONFIG_PATH:../../.." $(PKG_CONFIG) --variable=\$(1) vdr))
PKGCFG = \$(if \$(VDRDIR),\$(shell \$(PKG_CONFIG) --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell PKG_CONFIG_PATH="\$\$PKG_CONFIG_PATH:../../.." \$(PKG_CONFIG) --variable=\$(1) vdr))
LIBDIR = \$(call PKGCFG,libdir)
LOCDIR = \$(call PKGCFG,locdir)
PLGCFG = \$(call PKGCFG,plgcfg)

View File

@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection.
*
* $Id: svdrp.c 4.43 2020/06/22 20:59:49 kls Exp $
* $Id: svdrp.c 4.43.1.1 2021/01/02 15:18:06 kls Exp $
*/
#include "svdrp.h"
@ -1301,8 +1301,10 @@ void cSVDRPServer::CmdCLRE(const char *Option)
tChannelID ChannelID = tChannelID::InvalidID;
if (isnumber(Option)) {
int o = strtol(Option, NULL, 10);
if (o >= 1 && o <= cChannels::MaxNumber())
ChannelID = Channels->GetByNumber(o)->GetChannelID();
if (o >= 1 && o <= cChannels::MaxNumber()) {
if (const cChannel *Channel = Channels->GetByNumber(o))
ChannelID = Channel->GetChannelID();
}
}
else {
ChannelID = tChannelID::FromString(Option);

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: tools.c 4.13 2020/11/22 13:32:05 kls Exp $
* $Id: tools.c 4.13.1.1 2021/01/02 15:05:48 kls Exp $
*/
#include "tools.h"
@ -151,6 +151,8 @@ char *strreplace(char *s, char c1, char c2)
char *strreplace(char *s, const char *s1, const char *s2)
{
if (!s || !s1 || !s2)
return s;
char *p = strstr(s, s1);
if (p) {
int of = p - s;