XEmacs 21.2.32 "Kastor & Polydeukes".
[chise/xemacs-chise.git] / src / nt.c
index 4b21a11..bd14ddc 100644 (file)
--- a/src/nt.c
+++ b/src/nt.c
@@ -48,20 +48,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 #include <stdio.h>
 
 #include <windows.h>
-#ifndef __MINGW32__
 #include <mmsystem.h>
-#else
-typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2);
-
-typedef TIMECALLBACK FAR *LPTIMECALLBACK;
-DWORD WINAPI timeGetTime(void);
-MMRESULT WINAPI timeSetEvent(UINT uDelay, UINT uResolution,
-    LPTIMECALLBACK fptc, DWORD dwUser, UINT fuEvent);
-MMRESULT WINAPI timeKillEvent(UINT uTimerID);
-MMRESULT WINAPI timeGetDevCaps(TIMECAPS* ptc, UINT cbtc);
-MMRESULT WINAPI timeBeginPeriod(UINT uPeriod);
-MMRESULT WINAPI timeEndPeriod(UINT uPeriod);
-#endif
 
 #include "nt.h"
 #include <sys/dir.h>
@@ -132,25 +119,25 @@ static struct passwd the_passwd =
 };
 
 uid_t
-getuid () 
+getuid (void) 
 {
   return nt_fake_unix_uid;
 }
 
 uid_t 
-geteuid () 
+geteuid (void) 
 { 
   return nt_fake_unix_uid;
 }
 
 gid_t
-getgid () 
+getgid (void) 
 { 
   return the_passwd.pw_gid;
 }
 
 gid_t
-getegid () 
+getegid (void) 
 { 
   return getgid ();
 }
@@ -183,7 +170,7 @@ getpwnam (const char *name)
 }
 
 void
-init_user_info ()
+init_user_info (void)
 {
   /* This code is pretty much of ad hoc nature. There is no unix-like
      UIDs under Windows NT. There is no concept of root user, because
@@ -593,7 +580,7 @@ nt_get_resource (char *key, LPDWORD lpdwtype)
 }
 
 void
-init_environment ()
+init_environment (void)
 {
   /* Check for environment variables and use registry if they don't exist */
   {
@@ -615,7 +602,7 @@ init_environment ()
       "EMACSLOCKDIR",
       "INFOPATH"
     };
-#ifdef HEAP_IN_DATA
+#if defined (HEAP_IN_DATA) && !defined(PDUMP)
     cache_system_info ();
 #endif
     for (i = 0; i < countof (env_vars); i++) 
@@ -1250,6 +1237,11 @@ convert_time (FILETIME ft)
 }
 #else
 
+#if defined(__MINGW32__) && CYGWIN_VERSION_DLL_MAJOR <= 21
+#define LowPart u.LowPart
+#define HighPart u.HighPart
+#endif
+
 static LARGE_INTEGER utc_base_li;
 
 time_t
@@ -1319,6 +1311,10 @@ convert_time (FILETIME uft)
   return ret;
 }
 #endif
+#if defined(__MINGW32__) && CYGWIN_VERSION_DLL_MAJOR <= 21
+#undef LowPart
+#undef HighPart
+#endif
 
 #if 0
 /* in case we ever have need of this */
@@ -1400,6 +1396,12 @@ generate_inode_val (const char * name)
    Oh, and do not encapsulater stat for non-MS compilers, too */
 /* #### popineau@ese-metz.fr says they still might be broken.
    Oh well... Let's add that `1 ||' condition.... --kkm */
+/* #### aichner@ecf.teradyne.com reported that with the library
+   provided stat/fstat, (file-exist "d:\\tmp\\") =>> nil,
+   (file-exist "d:\\tmp") =>> t, when d:\tmp exists. Whenever
+   we opt to use non-encapsulated stat(), this should serve as
+   a compatibility test. --kkm */
+
 #if 1 || defined(_MSC_VER) && _MSC_VER < 1100
 
 /* Since stat is encapsulated on Windows NT, we need to encapsulate
@@ -1667,7 +1669,7 @@ term_ntproc (int unused)
 }
 
 void
-init_ntproc ()
+init_ntproc (void)
 {
   /* Initial preparation for subprocess support: replace our standard
      handles with non-inheritable versions. */