diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 7d59097af..b8aa5b90f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Tue May 30 16:58:33 2000 Christopher Faylor + + * path.cc (mount_info::conv_to_win32_path): Previous patch was too + aggressive in adding a trailing slash. + Mon May 29 20:31:01 2000 Christopher Faylor * Makefile.in: Remove libadvapi32.a. @@ -73,7 +78,7 @@ Wed May 24 21:59:00 2000 Corinna Vinschen * syscalls.cc (_cygwin_istext_for_stdio): New, for newlib * include/cygwin/version.h: Bump API number for detect old programs using old getc/putc macros - + 2000-05-23 DJ Delorie * dir.cc (writable_directory): handle root directories diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 4cb26369f..d3bc76c19 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1020,12 +1020,14 @@ mount_info::conv_to_win32_path (const char *src_path, char *win32_path, else { int n = mi->native_pathlen; - memcpy (dst, mi->native_path, n); + memcpy (dst, mi->native_path, n + 1); char *p = pathbuf + mi->posix_pathlen; - if (!trailing_slash_p && isdrive (mi->native_path) && !mi->native_path[2]) - trailing_slash_p = 1; if (!trailing_slash_p && !*p) - dst[n] = '\0'; + { + if (isdrive (dst) && !dst[2]) + dst[n++] = '\\'; + dst[n] = '\0'; + } else { /* Do not add trailing \ to UNC device names like \\.\a: */