summaryrefslogtreecommitdiff
path: root/lib/stat-w32.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2020-05-28 02:06:51 +0200
committerBruno Haible <bruno@clisp.org>2020-05-28 02:06:51 +0200
commite0dc0ffc6f2f2a4826156d7451e1dc6e80e53243 (patch)
tree6196a3f129d889d3104b15dc595f5f01f04eea37 /lib/stat-w32.c
parent41b5ed4b01857881d356e15f86b3dd081fe3f6c8 (diff)
downloadgnulib-e0dc0ffc6f2f2a4826156d7451e1dc6e80e53243.tar.gz
Improve pattern for defining _WIN32_WINNT.
Newer versions of the Windows API may not only add, but also remove API functions. Therefore, when the user is e.g. building for Windows 10, we should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the use of APIs that were present in Windows 8 but removed in Windows 10. Suggested by Steve Lhomme <robux4@ycbcr.xyz> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>. * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value. * lib/sethostname.c (_WIN32_WINNT): Likewise. * lib/stat-w32.c (_WIN32_WINNT): Likewise.
Diffstat (limited to 'lib/stat-w32.c')
-rw-r--r--lib/stat-w32.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/stat-w32.c b/lib/stat-w32.c
index 296ccf18ca..c4b5de9a71 100644
--- a/lib/stat-w32.c
+++ b/lib/stat-w32.c
@@ -21,8 +21,10 @@
#if defined _WIN32 && ! defined __CYGWIN__
/* Ensure that <windows.h> defines FILE_ID_INFO. */
-#undef _WIN32_WINNT
-#define _WIN32_WINNT _WIN32_WINNT_WIN8
+#if !defined _WIN32_WINNT || (_WIN32_WINNT < _WIN32_WINNT_WIN8)
+# undef _WIN32_WINNT
+# define _WIN32_WINNT _WIN32_WINNT_WIN8
+#endif
#include <sys/types.h>
#include <sys/stat.h>