Fix missing timespec definition for sys/stat.h (BZ #21371)

As indicated by the bug report, the 'struct timespec' definition
is not defined for '_XOPEN_SOURCE=700' and '_POSIX_C_SOURCE=200112L'.

It is because current code only includes its definition if __USE_ATFILE
is defined and the define is only set with:

  1. _GNU_SOURCE and/or _ATFILE_SOURCE definition.
  2. _POSIX_C_SOURCE >= 200809L

However, the 'st_*' fields in 'struct stat' are defined if __USE_XOPEN2K8.
This patch uses the same logic for 'struct timespec' inclusion.

Tested on x86_64-linux-gnu.

	* io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for
	struct timespec definition.
This commit is contained in:
Adhemerval Zanella 2017-04-17 10:38:53 -03:00
parent a0704b1ac7
commit d76d370355
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2017-04-20 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* io/sys/stat.h: Use __USE_XOPEN2K8 insteaf of __USE_ATFILE for
struct timespec definition.
2017-04-19 Florian Weimer <fweimer@redhat.com>
* resolv/nss_dns/dns-host.c (getanswer_r): Fix parentheses.

View File

@ -26,7 +26,7 @@
#include <bits/types.h> /* For __mode_t and __dev_t. */
#ifdef __USE_ATFILE
#ifdef __USE_XOPEN2K8
# include <bits/types/struct_timespec.h>
#endif