Now encoding '.' at the end of a directory name in case of VFAT=1

This commit is contained in:
Klaus Schmidinger 2002-04-21 14:10:31 +02:00
parent fb38680302
commit 2e3030a963
3 changed files with 9 additions and 3 deletions

View File

@ -305,3 +305,7 @@ Steffen Koch <Steffen.Koch@koch-enterprises.de>
Matthias Hilbig <hilbig@upb.de> Matthias Hilbig <hilbig@upb.de>
for fixing some missing ',' in i18n.c for fixing some missing ',' in i18n.c
Simon Dean <linux-dvb@sickhack.com>
for reporting a problem with '.' at the end of a directory name in case of VFAT=1
(Windows can't handle these)

View File

@ -1216,3 +1216,5 @@ Video Disk Recorder Revision History
Schächner). Schächner).
- No longer setting PIDs 0x1FFF, which apparently fixes problems with CAMs and - No longer setting PIDs 0x1FFF, which apparently fixes problems with CAMs and
AC3 sound only working the first time (thanks to Stefan Huelswitt). AC3 sound only working the first time (thanks to Stefan Huelswitt).
- Now encoding '.' at the end of a directory name in case of VFAT=1, since Windows
can't handle these (thanks to Simon Dean for reporting this one).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 1.60 2002/04/01 10:51:23 kls Exp $ * $Id: recording.c 1.61 2002/04/21 14:02:55 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -222,7 +222,6 @@ static char *ExchangeChars(char *s, bool ToFileSystem)
case '+': case '+':
case ',': case ',':
case '-': case '-':
case '.':
case ';': case ';':
case '=': case '=':
case '0' ... '9': case '0' ... '9':
@ -237,7 +236,8 @@ static char *ExchangeChars(char *s, bool ToFileSystem)
case ' ': *p = '_'; break; case ' ': *p = '_'; break;
case '~': *p = '/'; break; case '~': *p = '/'; break;
// characters that have to be encoded: // characters that have to be encoded:
default: { default:
if (*p != '.' || !*(p + 1) || *(p + 1) == '~') { // Windows can't handle '.' at the end of directory names
int l = p - s; int l = p - s;
s = (char *)realloc(s, strlen(s) + 10); s = (char *)realloc(s, strlen(s) + 10);
p = s + l; p = s + l;