diff src/syswindows.h @ 673:685b588e92d8

[xemacs-hg @ 2001-10-30 05:13:26 by andyp] merge of windows 21.4.5 codeline
author andyp
date Tue, 30 Oct 2001 05:13:31 +0000
parents fdefd0186b75
children 943eaba38521
line wrap: on
line diff
--- a/src/syswindows.h	Fri Oct 26 02:42:53 2001 +0000
+++ b/src/syswindows.h	Tue Oct 30 05:13:31 2001 +0000
@@ -85,6 +85,7 @@
 #  define Status int
 # endif
 # include <mmsystem.h>
+# include <shlobj.h>
 # include <shellapi.h>
 # include <ddeml.h>
 #endif
@@ -122,6 +123,17 @@
 #define PHYSICALOFFSETY 113
 #endif
 
+/* shlobj.h defines. */
+#ifndef BIF_EDITBOX
+#define BIF_EDITBOX 0x10
+#endif
+#ifndef BIF_VALIDATE
+#define BIF_VALIDATE 0x20
+#endif
+#ifndef BFFM_VALIDATEFAILED
+#define BFFM_VALIDATEFAILED 3
+#endif
+
 /* windows.h defines. */
 #if defined (CYGWIN) && (CYGWIN_VERSION_DLL_MAJOR < 20)
 typedef NMHDR *LPNMHDR;
@@ -261,12 +273,15 @@
      is ASCII-compatible, and so these functions will work fine with	\
      this data. */							\
   Lisp_Object ltwff1 = (path);						\
-  int ltwff2 =								\
-    cygwin_posix_to_win32_path_list_buf_size ((char *)			\
-					      XSTRING_DATA (ltwff1));	\
-  pathout = (Intbyte *) alloca (ltwff2);				\
-  cygwin_posix_to_win32_path_list ((char *) XSTRING_DATA (ltwff1),	\
-				   (char *) pathout);			\
+  Intbyte* ltwffp = XSTRING_DATA (ltwff1);				\
+  if (isalpha (ltwffp[0]) && (IS_DEVICE_SEP (ltwffp[1])))			\
+    pathout = ltwffp;							\
+  else {									\
+    int ltwff2 =								\
+      cygwin_posix_to_win32_path_list_buf_size ((char*)ltwffp);	\
+    pathout = (Intbyte *) alloca (ltwff2);				\
+    cygwin_posix_to_win32_path_list ((char*) ltwffp, (char*) pathout);	\
+  }									\
 } while (0)
 #else
 #define LOCAL_TO_WIN32_FILE_FORMAT(path, pathout)	\