From 965b3471b7a844e464458dbf54d55cca9aa7c22a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 11 Oct 2013 11:42:19 +0200 Subject: [PATCH] Fixed writing group separators to channels.conf that contain a comma --- CONTRIBUTORS | 3 +++ HISTORY | 4 +++- channels.c | 16 +++++++++------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 30104f33..fc9a6016 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3169,3 +3169,6 @@ Manfred V Thomas Maass for reporting a difference in the internal sequence of actions when pressing the Blue and the Back key, respectively, during replay + +Eike Edener + for reporting a bug in writing group separators to channels.conf that contain a comma diff --git a/HISTORY b/HISTORY index f216ac1f..0c39a4fc 100644 --- a/HISTORY +++ b/HISTORY @@ -7832,9 +7832,11 @@ Video Disk Recorder Revision History - Fixed cleaning up old EPG events in case no epg data file is given (reported by Dave Pickles). -2013-09-07: Version 2.0.4 +2013-10-11: Version 2.0.4 - Unified the internal sequence of actions when pressing the Blue and the Back key, respectively, during replay (reported by Thomas Maass). - The Yellow button in the main menu no longer acts as "Pause" if "Pause key handling" is set to "do not pause live video" (suggested by Ulf Kiener). +- Fixed writing group separators to channels.conf that contain a comma (reported by + Eike Edener). diff --git a/channels.c b/channels.c index 05f8cdb1..67245acc 100644 --- a/channels.c +++ b/channels.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: channels.c 2.24 2012/07/14 12:15:00 kls Exp $ + * $Id: channels.c 2.24.1.1 2013/10/11 11:40:02 kls Exp $ */ #include "channels.h" @@ -503,12 +503,14 @@ cString cChannel::ToText(const cChannel *Channel) char FullName[strlen(Channel->name) + 1 + strlen(Channel->shortName) + 1 + strlen(Channel->provider) + 1 + 10]; // +10: paranoia char *q = FullName; q += sprintf(q, "%s", Channel->name); - if (!isempty(Channel->shortName)) - q += sprintf(q, ",%s", Channel->shortName); - else if (strchr(Channel->name, ',')) - q += sprintf(q, ","); - if (!isempty(Channel->provider)) - q += sprintf(q, ";%s", Channel->provider); + if (!Channel->groupSep) { + if (!isempty(Channel->shortName)) + q += sprintf(q, ",%s", Channel->shortName); + else if (strchr(Channel->name, ',')) + q += sprintf(q, ","); + if (!isempty(Channel->provider)) + q += sprintf(q, ";%s", Channel->provider); + } *q = 0; strreplace(FullName, ':', '|'); cString buffer;