Commit 0a7905f6 authored by Jérôme Decoodt's avatar Jérôme Decoodt

Fix parsing of plugin-path with escaping chars...

parent 3b420ec9
...@@ -863,7 +863,7 @@ void module_PutConfig( module_config_t *config ) ...@@ -863,7 +863,7 @@ void module_PutConfig( module_config_t *config )
static char * copy_next_paths_token( char * paths, char ** remaining_paths ) static char * copy_next_paths_token( char * paths, char ** remaining_paths )
{ {
char * path; char * path;
int i; int i, done;
bool escaped = false; bool escaped = false;
assert( paths ); assert( paths );
...@@ -873,20 +873,20 @@ static char * copy_next_paths_token( char * paths, char ** remaining_paths ) ...@@ -873,20 +873,20 @@ static char * copy_next_paths_token( char * paths, char ** remaining_paths )
if( !path ) return NULL; if( !path ) return NULL;
/* Look for PATH_SEP_CHAR (a ':' or a ';') */ /* Look for PATH_SEP_CHAR (a ':' or a ';') */
for( i = 0; paths[i]; i++ ) { for( i = 0, done = 0 ; paths[i]; i++ ) {
/* Take care of \\ and \: or \; escapement */ /* Take care of \\ and \: or \; escapement */
if( escaped ) { if( escaped ) {
escaped = false; escaped = false;
path[i] = paths[i]; path[done++] = paths[i];
} }
else if( paths[i] == '\\' ) else if( paths[i] == '\\' )
escaped = true; escaped = true;
else if( paths[i] == PATH_SEP_CHAR ) else if( paths[i] == PATH_SEP_CHAR )
break; break;
else else
path[i] = paths[i]; path[done++] = paths[i];
} }
path[i] = 0; path[done++] = 0;
/* Return the remaining paths */ /* Return the remaining paths */
if( remaining_paths ) { if( remaining_paths ) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment