setup.c: Prepare for Windows directory separators.
This turns two switch/case statements into an if-else-if cascade because we later do not want to have case '/': #ifdef __MINGW32__ case '\\': #endif but use a predicate is_dir_sep(foo) in order to check for the directory separator. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
This commit is contained in:
parent
80ba074f41
commit
4cd148d83f
13
setup.c
13
setup.c
@ -26,24 +26,21 @@ static int sanitary_path_copy(char *dst, const char *src)
|
||||
* (4) "../" -- strip one, eat slash and continue.
|
||||
*/
|
||||
if (c == '.') {
|
||||
switch (src[1]) {
|
||||
case '\0':
|
||||
if (!src[1]) {
|
||||
/* (1) */
|
||||
src++;
|
||||
break;
|
||||
case '/':
|
||||
} else if (src[1] == '/') {
|
||||
/* (2) */
|
||||
src += 2;
|
||||
while (*src == '/')
|
||||
src++;
|
||||
continue;
|
||||
case '.':
|
||||
switch (src[2]) {
|
||||
case '\0':
|
||||
} else if (src[1] == '.') {
|
||||
if (!src[2]) {
|
||||
/* (3) */
|
||||
src += 2;
|
||||
goto up_one;
|
||||
case '/':
|
||||
} else if (src[2] == '/') {
|
||||
/* (4) */
|
||||
src += 3;
|
||||
while (*src == '/')
|
||||
|
Loading…
Reference in New Issue
Block a user