Mercurial > emacs
comparison src/fileio.c @ 90185:5b029ff3b08d
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-55
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 320-323)
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Thu, 26 May 2005 05:42:19 +0000 |
parents | f042e7c0fe20 12b3cd6b8467 |
children | 01137c1fdbe9 |
comparison
equal
deleted
inserted
replaced
90184:9e5e2f01c7ab | 90185:5b029ff3b08d |
---|---|
1653 if (o == target && p[2] == '\0') | 1653 if (o == target && p[2] == '\0') |
1654 *o++ = *p; | 1654 *o++ = *p; |
1655 p += 2; | 1655 p += 2; |
1656 } | 1656 } |
1657 else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.' | 1657 else if (IS_DIRECTORY_SEP (p[0]) && p[1] == '.' && p[2] == '.' |
1658 /* `/../' is the "superroot" on certain file systems. */ | 1658 /* `/../' is the "superroot" on certain file systems. |
1659 Turned off on DOS_NT systems because they have no | |
1660 "superroot" and because this causes us to produce | |
1661 file names like "d:/../foo" which fail file-related | |
1662 functions of the underlying OS. (To reproduce, try a | |
1663 long series of "../../" in default_directory, longer | |
1664 than the number of levels from the root.) */ | |
1665 #ifndef DOS_NT | |
1659 && o != target | 1666 && o != target |
1667 #endif | |
1660 && (IS_DIRECTORY_SEP (p[3]) || p[3] == 0)) | 1668 && (IS_DIRECTORY_SEP (p[3]) || p[3] == 0)) |
1661 { | 1669 { |
1662 while (o != target && (--o) && !IS_DIRECTORY_SEP (*o)) | 1670 while (o != target && (--o) && !IS_DIRECTORY_SEP (*o)) |
1663 ; | 1671 ; |
1664 /* Keep initial / only if this is the whole name. */ | 1672 /* Keep initial / only if this is the whole name. */ |