Mercurial > emacs
changeset 11426:6502c07121b7
(Fexpand_file_name): Use IS_DIRECTORY_SEP instead of
special code for WINDOWSNT.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 13 Apr 1995 17:45:06 +0000 |
parents | bcb88697b70b |
children | c4ee56df7173 |
files | src/fileio.c |
diffstat | 1 files changed, 13 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fileio.c Thu Apr 13 17:24:35 1995 +0000 +++ b/src/fileio.c Thu Apr 13 17:45:06 1995 +0000 @@ -850,14 +850,11 @@ /* "//" anywhere isn't necessarily hairy; we just start afresh with the second slash. */ if (IS_DIRECTORY_SEP (p[0]) && IS_DIRECTORY_SEP (p[1]) -#ifdef APOLLO - /* // at start of filename is meaningful on Apollo system */ +#if defined (APOLLO) || defined (WINDOWSNT) + /* // at start of filename is meaningful on Apollo + and WindowsNT systems */ && nm != p -#endif /* APOLLO */ -#ifdef WINDOWSNT - /* \\ or // at the start of a pathname is meaningful on NT. */ - && nm != p -#endif /* WINDOWSNT */ +#endif /* APOLLO || WINDOWSNT */ ) nm = p + 1; @@ -1139,20 +1136,12 @@ { *o++ = *p++; } - else if ( -#ifdef WINDOWSNT - (!strncmp (p, "\\\\", 2) || !strncmp (p, "//", 2)) -#else /* not WINDOWSNT */ - !strncmp (p, "//", 2) -#endif /* not WINDOWSNT */ -#ifdef APOLLO - /* // at start of filename is meaningful in Apollo system */ + else if (IS_DIRECTORY_SEP (p[0]) && IS_DIRECTORY_SEP (p[1]) +#if defined (APOLLO) || defined (WINDOWSNT) + /* // at start of filename is meaningful in Apollo + and WindowsNT systems */ && o != target #endif /* APOLLO */ -#ifdef WINDOWSNT - /* \\ at start of filename is meaningful in Windows-NT */ - && o != target -#endif /* WINDOWSNT */ ) { o = target; @@ -1169,29 +1158,19 @@ *o++ = *p; p += 2; } - else if ( -#ifdef WINDOWSNT - (!strncmp (p, "\\..", 3) || !strncmp (p, "/..", 3)) -#else /* not WINDOWSNT */ - !strncmp (p, "/..", 3) -#endif /* not WINDOWSNT */ + else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.' /* `/../' is the "superroot" on certain file systems. */ && o != target && (IS_DIRECTORY_SEP (p[3]) || p[3] == 0)) { while (o != target && (--o) && !IS_DIRECTORY_SEP (*o)) ; -#ifdef APOLLO - if (o == target + 1 && o[-1] == '/' && o[0] == '/') +#if defined (APOLLO) || defined (WINDOWSNT) + if (o == target + 1 + && IS_DIRECTORY_SEP (o[-1]) && IS_DIRECTORY_SEP (o[0])) ++o; else -#endif /* APOLLO */ -#ifdef WINDOWSNT - if (o == target + 1 && (o[-1] == '/' && o[0] == '/') - || (o[-1] == '\\' && o[0] == '\\')) - ++o; - else -#endif /* WINDOWSNT */ +#endif /* APOLLO || WINDOWSNT */ if (o == target && IS_ANY_SEP (*o)) ++o; p += 3;