summaryrefslogtreecommitdiffstats
path: root/m_option.c
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-20 16:42:36 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-10-20 16:42:36 +0000
commit43755712659046a7e00d53407c7a1dd0c8f91f16 (patch)
treeee05c6cfab7414272f2d1620012d11b9269d95fe /m_option.c
parentf8578963065be3d423acbd8239eff2dd2c20d664 (diff)
downloadmpv-43755712659046a7e00d53407c7a1dd0c8f91f16.tar.bz2
mpv-43755712659046a7e00d53407c7a1dd0c8f91f16.tar.xz
\, escaping
applying my own patch due to lack of anyone objecting to it and as its pretty much needed for -vf geq git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20320 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'm_option.c')
-rw-r--r--m_option.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/m_option.c b/m_option.c
index 4af943e98f..68ebd08c0d 100644
--- a/m_option.c
+++ b/m_option.c
@@ -1672,7 +1672,14 @@ static int parse_obj_settings_list(m_option_t* opt,char *name,
while(ptr[0] != '\0') {
last_ptr = ptr;
- ptr = strchr(ptr,LIST_SEPARATOR);
+ for(;;){
+ ptr = strchr(ptr,LIST_SEPARATOR);
+ if(ptr && ptr>last_ptr && ptr[-1]=='\\'){
+ memmove(ptr-1, ptr, strlen(ptr)+1);
+ }else
+ break;
+ }
+
if(!ptr) {
r = parse_obj_settings(name,last_ptr,opt->priv,dst ? &res : NULL,n);
if(r < 0) {