diff src/fileio.c @ 988:5df795348f45

[xemacs-hg @ 2002-09-01 22:13:52 by andyp] apply various 21.4 patches
author andyp
date Sun, 01 Sep 2002 22:14:58 +0000
parents 79c6ff3eef26
children 25e260cb7994
line wrap: on
line diff
--- a/src/fileio.c	Sun Sep 01 17:54:58 2002 +0000
+++ b/src/fileio.c	Sun Sep 01 22:14:58 2002 +0000
@@ -1348,6 +1348,21 @@
     Ibyte *p;
 
     LISP_STRING_TO_ALLOCA (expanded_name, path);
+
+#if defined(WIN32_FILENAMES) && defined(CYGWIN)
+    /* When using win32 filenames in cygwin we want file-truename to
+       detect that c:/windows == /windows for example. */
+    if ((IS_DIRECTORY_SEP (path[0]) 
+	 && (elen == 1 || !IS_DIRECTORY_SEP (path[1])))
+	|| (isalpha (path[0])
+	    && (elen == 1 || !IS_DEVICE_SEP (path[1])))) {
+      int ltwff2 =
+	cygwin_posix_to_win32_path_list_buf_size (path);
+      p = (Ibyte *) alloca (ltwff2);
+      cygwin_posix_to_win32_path_list (path, p);
+      path = p;
+    }
+#endif
     p = path;
 
     /* Try doing it all at once. */