aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2019-07-24 11:28:48 -0700
committerPaul Eggert2019-07-24 12:11:32 -0700
commit50126f2049a03d2910412572c98bafbc26f3db31 (patch)
treef10373da4a557b21d25324fa8b555b338c992ec0 /src
parentf2cc674ebcac8eb38ce09287fd76e3608cd3b5c3 (diff)
downloademacs-50126f2049a03d2910412572c98bafbc26f3db31.tar.gz
emacs-50126f2049a03d2910412572c98bafbc26f3db31.zip
Port double-slash test to z/OS
* admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root. Emacs was already using this Gnulib module indirectly, so this is merely noting that there is now a direct dependency. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. * src/fileio.c (search_embedded_absfilename): Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN). Simplify.
Diffstat (limited to 'src')
-rw-r--r--src/fileio.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 4c7625cad4a..e4269b96a37 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1778,20 +1778,18 @@ get_homedir (void)
1778static char * 1778static char *
1779search_embedded_absfilename (char *nm, char *endp) 1779search_embedded_absfilename (char *nm, char *endp)
1780{ 1780{
1781 char *p, *s; 1781 char *p = nm + 1;
1782 1782#ifdef DOUBLE_SLASH_IS_DISTINCT_ROOT
1783 for (p = nm + 1; p < endp; p++) 1783 p += (IS_DIRECTORY_SEP (p[-1]) && IS_DIRECTORY_SEP (p[0])
1784 && !IS_DIRECTORY_SEP (p[1]));
1785#endif
1786 for (; p < endp; p++)
1784 { 1787 {
1785 if (IS_DIRECTORY_SEP (p[-1]) 1788 if (IS_DIRECTORY_SEP (p[-1]) && file_name_absolute_p (p))
1786 && file_name_absolute_p (p)
1787#if defined (WINDOWSNT) || defined (CYGWIN)
1788 /* // at start of file name is meaningful in Apollo,
1789 WindowsNT and Cygwin systems. */
1790 && !(IS_DIRECTORY_SEP (p[0]) && p - 1 == nm)
1791#endif /* not (WINDOWSNT || CYGWIN) */
1792 )
1793 { 1789 {
1794 for (s = p; *s && !IS_DIRECTORY_SEP (*s); s++); 1790 char *s;
1791 for (s = p; *s && !IS_DIRECTORY_SEP (*s); s++)
1792 continue;
1795 if (p[0] == '~' && s > p + 1) /* We've got "/~something/". */ 1793 if (p[0] == '~' && s > p + 1) /* We've got "/~something/". */
1796 { 1794 {
1797 USE_SAFE_ALLOCA; 1795 USE_SAFE_ALLOCA;