Minor portabiulity fixes for MS-Windows.
authorEli Zaretskii <eliz@gnu.org>
Sat, 4 May 2013 18:03:55 +0000 (21:03 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 4 May 2013 18:03:55 +0000 (21:03 +0300)
 makeint.h (ftruncate) [_MSC_VER]: Redirect to _chsize.
 (_S_ISDIR): If not defined (MinGW64), define to S_ISDIR.

ChangeLog
makeint.h

index 498e127..cc6ba1a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * makeint.h (ftruncate) [_MSC_VER]: Redirect to _chsize.
+       (_S_ISDIR): If not defined (MinGW64), define to S_ISDIR.
+
 2013-05-04  Paul Smith  <psmith@gnu.org>
 
        * job.c (child_out): Handle EINTR and incomplete write scenarios.
index 535db1d..9f0d1b8 100644 (file)
--- a/makeint.h
+++ b/makeint.h
@@ -351,6 +351,14 @@ char *strsignal (int signum);
 # include <malloc.h>
 # define pipe(_p)        _pipe((_p), 512, O_BINARY)
 # define kill(_pid,_sig) w32_kill((_pid),(_sig))
+/* MSVC doesn't have ftruncate.  */
+# ifdef _MSC_VER
+#  define ftruncate(_fd,_len) _chsize(_fd,_len)
+# endif
+/* MinGW64 doesn't have _S_ISDIR.  */
+# ifndef _S_ISDIR
+#  define _S_ISDIR(m)  S_ISDIR(m)
+# endif
 
 void sync_Path_environment (void);
 int w32_kill (pid_t pid, int sig);