summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-20 15:35:05 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-20 15:35:05 +0000
commit94cf4ac059aa99952196af650401cdfa684e04a2 (patch)
tree0c9534dfa2fe777c5a4b4f1431ce38bcdedfdc0f
parentdd125c93bdfbef26909ad684b678781abfd88c4a (diff)
downloadxine-lib-94cf4ac059aa99952196af650401cdfa684e04a2.tar.gz
xine-lib-94cf4ac059aa99952196af650401cdfa684e04a2.tar.bz2
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 :-)
-rw-r--r--ChangeLog3
-rw-r--r--src/xine-engine/xine.c1
2 files changed, 4 insertions, 0 deletions
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);