diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b71647389..b83ca47cf 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +Tue Sep 12 14:37:32 2000 Christopher Faylor + + * path.cc (normalize_posix_path): Fix more slashdot madness. + Tue Sep 12 12:29:29 2000 Christopher Faylor * Makefile.in: Make clean target remove *.d. diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 54b879560..9f0856191 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -551,11 +551,7 @@ normalize_posix_path (const char *src, char *dst) strcpy (dst, cwd); dst = strchr (dst, '\0'); if (*src == '.') - { - if (dst == dst_start + 1) - dst--; - goto sawdot; - } + goto sawdot; if (dst > dst_start && !isslash (dst[-1])) *dst++ = '/'; } @@ -603,7 +599,11 @@ normalize_posix_path (const char *src, char *dst) if (src[1] != '.') { if (!src[1]) - goto done; + { + if (dst == dst_start) + *dst++ = '/'; + goto done; + } if (!isslash (src[1])) break; }