From 94cf4ac059aa99952196af650401cdfa684e04a2 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 20 Jan 2008 15:35:05 +0000 Subject: Unescape the "#save:" filename, allowing ";" etc. in file names. This has a side effect: versions older than 1.1.10 do not unescape, so "#save:foo%23.ts" will result in a file named "foo%23.ts". Front end maintainers, beware :-) --- ChangeLog | 3 +++ src/xine-engine/xine.c | 1 + 2 files changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index 97c69817b..34cf8ddb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ xine-lib (1.1.10) (unreleased) * Change the default v4l device paths to /dev/video0 and /dev/radio0. * Fix support for subtitles with schemes (e.g. http://), partly broken since 1.1.8. + * Unescape the filename in "#save:". This allows filenames to contain ';' + etc. without ambiguity, e.g. "#save:foo%3B1.ts" -> "foo;1.ts", but front + end authors should be careful with xine-lib older than 1.1.10. xine-lib (1.1.9.1) * Security fixes: diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 4f6ba2a80..13c6d19e9 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -930,6 +930,7 @@ static inline int _x_path_looks_like_mrl (const char *path) memcpy(filename, tmp, strlen(tmp)); filename[strlen(tmp)] = '\0'; } + _x_mrl_unescape(filename);# xine_log(stream->xine, XINE_LOG_MSG, _("xine: join rip input plugin\n")); input_saver = _x_rip_plugin_get_instance (stream, filename); -- cgit v1.2.3