summaryrefslogtreecommitdiff
path: root/lib/utimens.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-05-02 00:47:18 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-05-02 00:47:36 -0700
commit9c2b03fe3fc7695867d883f4918d74ba9a7c262e (patch)
treec15d447f3decfa2ae09be14402906bc1426274ec /lib/utimens.c
parentd895f6c12f474476321322ed08e7c768be006287 (diff)
downloademacs-9c2b03fe3fc7695867d883f4918d74ba9a7c262e.tar.gz
Merge from gnulib
This incorporates: 2017-05-02 utimens: port to Emacs + MS-Windows * lib/utimens.c: Copy from gnulib.
Diffstat (limited to 'lib/utimens.c')
-rw-r--r--lib/utimens.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/utimens.c b/lib/utimens.c
index 0b3b8e2f3af..5f3a846ea2f 100644
--- a/lib/utimens.c
+++ b/lib/utimens.c
@@ -35,7 +35,13 @@
#include "stat-time.h"
#include "timespec.h"
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+/* On native Windows, use SetFileTime; but avoid this when compiling
+ GNU Emacs, which arranges for this in some other way and which
+ defines WIN32_LEAN_AND_MEAN itself. */
+
+#if ((defined _WIN32 || defined __WIN32__) \
+ && ! defined __CYGWIN__ && ! defined EMACS_CONFIGURATION)
+# define USE_SETFILETIME
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# include "msvc-nothrow.h"
@@ -277,7 +283,7 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2])
lutimensat_works_really = -1;
#endif /* HAVE_UTIMENSAT || HAVE_FUTIMENS */
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+#ifdef USE_SETFILETIME
/* On native Windows, use SetFileTime(). See
<https://msdn.microsoft.com/en-us/library/ms724933.aspx>
<https://msdn.microsoft.com/en-us/library/ms724284.aspx> */