diff options
Diffstat (limited to 'src/vdr-plugin/common.c')
-rw-r--r-- | src/vdr-plugin/common.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/vdr-plugin/common.c b/src/vdr-plugin/common.c index 5ad2747..17a73b0 100644 --- a/src/vdr-plugin/common.c +++ b/src/vdr-plugin/common.c @@ -194,9 +194,20 @@ char *URLdecode(const char *s) { return res; } -char *safeFilename(char *filename) { +char *safeFilename(char *filename, bool vfatnames) { if (filename) { - strreplace(filename, '/', '!'); + strreplace(filename, '/', '_'); + + if (vfatnames) { + strreplace(filename, '\\', '_'); + strreplace(filename, '"', '_'); + strreplace(filename, '*', '_'); + strreplace(filename, ':', '_'); + strreplace(filename, '<', '_'); + strreplace(filename, '>', '_'); + strreplace(filename, '?', '_'); + strreplace(filename, '|', '_'); + } char *p = filename; while ((*p == '.') || isspace(*p)) { |