changeset 22106:f4a52ea42920

(Fexpand_file_name) [WINDOWSNT]: Be careful not to concatenate the directory prefix and file name to accidentally create a network share name.
author Richard M. Stallman <rms@gnu.org>
date Sat, 16 May 1998 19:56:07 +0000
parents 10196cc8877c
children 5507c26908af
files src/fileio.c
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c	Sat May 16 19:08:49 1998 +0000
+++ b/src/fileio.c	Sat May 16 19:56:07 1998 +0000
@@ -1419,7 +1419,18 @@
     {
 #ifndef VMS
       if (nm[0] == 0 || IS_DIRECTORY_SEP (nm[0]))
-	strcpy (target, newdir);
+	{
+#ifdef WINDOWSNT
+	  /* If newdir is effectively "C:/", then the drive letter will have
+	     been stripped and newdir will be "/".  Concatenating with an
+	     absolute directory in nm produces "//", which will then be
+	     incorrectly treated as a network share.  Ignore newdir in
+	     this case (keeping the drive letter).  */
+	  if (!(drive && nm[0] && IS_DIRECTORY_SEP (newdir[0]) 
+		&& newdir[1] == '\0'))
+#endif
+	    strcpy (target, newdir);
+	}
       else
 #endif
 	file_name_as_directory (target, newdir);