Fixed writing group separators to channels.conf that contain a comma

This commit is contained in:
Klaus Schmidinger 2013-10-11 11:42:19 +02:00
parent 0f75df5452
commit 965b3471b7
3 changed files with 15 additions and 8 deletions

View File

@ -3169,3 +3169,6 @@ Manfred V
Thomas Maass <mase@setho.org>
for reporting a difference in the internal sequence of actions when pressing the Blue
and the Back key, respectively, during replay
Eike Edener <eike@edener.de>
for reporting a bug in writing group separators to channels.conf that contain a comma

View File

@ -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).

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 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;