提交 4cd148d8 编写于 作者: J Johannes Sixt

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: NJohannes Sixt <johannes.sixt@telecom.at>
上级 80ba074f
......@@ -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 == '/')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册