Fixed cChannel::SetName() in case only the ShortName or Provider has changed

This commit is contained in:
Klaus Schmidinger 2004-11-02 18:07:05 +01:00
parent 6304820a0e
commit 2a7f8325d1
4 changed files with 27 additions and 12 deletions

View File

@ -732,6 +732,8 @@ Sascha Volkenandt <sascha@akv-soft.de>
some broken graphics tools
for fixing a memory leak in theme description handling
for pointing out a "near miss" condition in cCondVar
for reporting a bug in cChannel::SetName() in case only the ShortName or Provider
has changed
Malcolm Caldwell <malcolm.caldwell@ntu.edu.au>
for modifying LOF handling to allow for C-band reception

View File

@ -3116,3 +3116,8 @@ Video Disk Recorder Revision History
- Now displaying the name of the remote control for which the keys are being
learned inside the menu to avoid overwriting the date/time in the 'classic'
skin (thanks to Oliver Endriss for reporting this one).
2004-11-02: Version 1.3.16
- Fixed cChannel::SetName() in case only the ShortName or Provider has changed
(thanks to Sascha Volkenandt for reporting this one).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: channels.c 1.30 2004/10/31 12:54:06 kls Exp $
* $Id: channels.c 1.31 2004/11/02 18:07:05 kls Exp $
*/
#include "channels.h"
@ -358,15 +358,23 @@ void cChannel::SetId(int Nid, int Tid, int Sid, int Rid)
void cChannel::SetName(const char *Name, const char *ShortName, const char *Provider)
{
if (!isempty(Name) && strcmp(name, Name) != 0) {
if (Number()) {
dsyslog("changing name of channel %d from '%s,%s;%s' to '%s,%s;%s'", Number(), name, shortName, provider, Name, ShortName, Provider);
modification |= CHANNELMOD_NAME;
Channels.SetModified();
if (!isempty(Name)) {
bool nn = strcmp(name, Name) != 0;
bool ns = strcmp(shortName, ShortName) != 0;
bool np = strcmp(provider, Provider) != 0;
if (nn || ns || np) {
if (Number()) {
dsyslog("changing name of channel %d from '%s,%s;%s' to '%s,%s;%s'", Number(), name, shortName, provider, Name, ShortName, Provider);
modification |= CHANNELMOD_NAME;
Channels.SetModified();
}
if (nn)
name = strcpyrealloc(name, Name);
if (ns)
shortName = strcpyrealloc(shortName, ShortName);
if (np)
provider = strcpyrealloc(provider, Provider);
}
name = strcpyrealloc(name, Name);
shortName = strcpyrealloc(shortName, ShortName);
provider = strcpyrealloc(provider, Provider);
}
}

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 1.203 2004/10/31 16:17:02 kls Exp $
* $Id: config.h 1.204 2004/11/02 17:20:27 kls Exp $
*/
#ifndef __CONFIG_H
@ -20,8 +20,8 @@
#include "i18n.h"
#include "tools.h"
#define VDRVERSION "1.3.15"
#define VDRVERSNUM 10315 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.3.16"
#define VDRVERSNUM 10316 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99