summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/path.cc11
2 files changed, 7 insertions, 8 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index f65841b54..62e112b27 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2004-12-20 Christopher Faylor <cgf@timesys.com>
+ * path.cc (normalize_win32_path): Remove unneeded check for dots.
+
+2004-12-20 Christopher Faylor <cgf@timesys.com>
+
* path.cc (normalize_posix_path): Remove unneeded check for dots.
(path_conv::set_normalized_path): Strip trailing dots, similarly to
what had previously been done for the win32 path.
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f1c25c4c8..87f3c7a02 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -1010,7 +1010,9 @@ normalize_win32_path (const char *src, char *dst, char *&tail)
/* dst must be greater than dst_start */
&& tail[-1] == '\\')
{
- if (isdirsep (src[2]) || src[2] == 0)
+ if (!isdirsep (src[2]) && src[2] != '\0')
+ *tail++ = *src++;
+ else
{
/* Back up over /, but not if it's the first one. */
if (tail > dst + 1)
@@ -1022,13 +1024,6 @@ normalize_win32_path (const char *src, char *dst, char *&tail)
if (isdirsep (*src))
src++;
}
- else
- {
- int n = strspn (src, ".");
- if (!src[n] || isdirsep (src[n])) /* just dots... */
- return ENOENT;
- *tail++ = *src++;
- }
}
/* Otherwise, add char to result. */
else