diff options
-rw-r--r-- | m_option.c | 9 |
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) { |