From 1b1dc6d77569582c05de049d399591dd13a9e24a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 11 Apr 2013 08:24:04 +0200 Subject: [PATCH] Fixed handling '/' and '~' in recording file names in case DirectoryEncoding is used --- CONTRIBUTORS | 2 ++ HISTORY | 5 +++-- recording.c | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 303ef673..d66934e5 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2832,6 +2832,8 @@ Lars Hanisch for fixing a typo in skins.h for fixing some #include statements in plugins to use instead of "vdr/..." for reporting an invalid line in channels.conf.terr + for fixing handling '/' and '~' in recording file names in case DirectoryEncoding is + used Alex Lasnier for adding tuning support for ATSC devices diff --git a/HISTORY b/HISTORY index f2fad5f4..276474ea 100644 --- a/HISTORY +++ b/HISTORY @@ -7773,7 +7773,6 @@ Video Disk Recorder Revision History Dominic Evans). - Updated the default channels.conf file. - 2013-03-31: Version 2.0.0 - Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras). @@ -7783,10 +7782,12 @@ Video Disk Recorder Revision History - Bumped all version numbers to 2.0.0. - Official release. -2013-04-09: Version 2.0.1 +2013-04-11: Version 2.0.1 - Fixed initializing cDevice::keepTracks. - Fixed an endless loop in cTextWrapper::Set() in case the given Width is smaller than one character (reported by Stefan Braun). - Added definitions for older DVB API versions, back until 5.0 (based on a patch from Udo Richter). +- Fixed handling '/' and '~' in recording file names in case DirectoryEncoding is + used (thanks to Lars Hanisch). diff --git a/recording.c b/recording.c index f43ce52e..b1ca9c5a 100644 --- a/recording.c +++ b/recording.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recording.c 2.91 2013/03/11 10:34:41 kls Exp $ + * $Id: recording.c 2.91.1.1 2013/04/11 08:20:03 kls Exp $ */ #include "recording.h" @@ -561,6 +561,7 @@ char *ExchangeChars(char *s, bool ToFileSystem) // characters that can be mapped to other characters: case ' ': *p = '_'; break; case FOLDERDELIMCHAR: *p = '/'; break; + case '/': *p = FOLDERDELIMCHAR; break; // characters that have to be encoded: default: if (NeedsConversion(p)) { @@ -583,6 +584,7 @@ char *ExchangeChars(char *s, bool ToFileSystem) switch (*p) { // mapped characters: case '_': *p = ' '; break; + case FOLDERDELIMCHAR: *p = '/'; break; case '/': *p = FOLDERDELIMCHAR; break; // encoded characters: case '#': {