From 7597fc25a2743d49500926a286da71f8e033936c Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 20 Oct 2016 17:20:01 -0400 Subject: fix various header namespace issues under feature-test-macro control reported and changes suggested by Daniel Sabogal. --- include/dirent.h | 7 +++++-- include/grp.h | 2 ++ include/pwd.h | 2 ++ include/sys/stat.h | 7 +++++-- include/time.h | 3 ++- include/unistd.h | 4 ++-- 6 files changed, 18 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/dirent.h b/include/dirent.h index 006a360e..88d3c3cf 100644 --- a/include/dirent.h +++ b/include/dirent.h @@ -33,13 +33,16 @@ DIR *opendir(const char *); struct dirent *readdir(DIR *); int readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict); void rewinddir(DIR *); -void seekdir(DIR *, long); -long telldir(DIR *); int dirfd(DIR *); int alphasort(const struct dirent **, const struct dirent **); int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **)); +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void seekdir(DIR *, long); +long telldir(DIR *); +#endif + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define DT_UNKNOWN 0 #define DT_FIFO 1 diff --git a/include/grp.h b/include/grp.h index d8581409..27e8c5e6 100644 --- a/include/grp.h +++ b/include/grp.h @@ -29,9 +29,11 @@ struct group *getgrnam(const char *); int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) struct group *getgrent(void); void endgrent(void); void setgrent(void); +#endif #ifdef _GNU_SOURCE struct group *fgetgrent(FILE *); diff --git a/include/pwd.h b/include/pwd.h index 07a5871d..4f470b55 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -27,9 +27,11 @@ struct passwd { char *pw_shell; }; +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) void setpwent (void); void endpwent (void); struct passwd *getpwent (void); +#endif struct passwd *getpwuid (uid_t); struct passwd *getpwnam (const char *); diff --git a/include/sys/stat.h b/include/sys/stat.h index 82a64904..9d096624 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -79,12 +79,15 @@ int fchmod(int, mode_t); int fchmodat(int, const char *, mode_t, int); mode_t umask(mode_t); int mkdir(const char *, mode_t); -int mknod(const char *, mode_t, dev_t); int mkfifo(const char *, mode_t); int mkdirat(int, const char *, mode_t); -int mknodat(int, const char *, mode_t, dev_t); int mkfifoat(int, const char *, mode_t); +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int mknod(const char *, mode_t, dev_t); +int mknodat(int, const char *, mode_t, dev_t); +#endif + int futimens(int, const struct timespec [2]); int utimensat(int, const char *, const struct timespec [2], int); diff --git a/include/time.h b/include/time.h index a408679c..672b3fc3 100644 --- a/include/time.h +++ b/include/time.h @@ -111,6 +111,8 @@ int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct iti int timer_gettime (timer_t, struct itimerspec *); int timer_getoverrun (timer_t); +extern char *tzname[2]; + #endif @@ -118,7 +120,6 @@ int timer_getoverrun (timer_t); char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict); extern int daylight; extern long timezone; -extern char *tzname[2]; extern int getdate_err; struct tm *getdate (const char *); #endif diff --git a/include/unistd.h b/include/unistd.h index 2c355880..09190af4 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -110,10 +110,8 @@ gid_t getgid(void); gid_t getegid(void); int getgroups(int, gid_t []); int setuid(uid_t); -int setreuid(uid_t, uid_t); int seteuid(uid_t); int setgid(gid_t); -int setregid(gid_t, gid_t); int setegid(gid_t); char *getlogin(void); @@ -136,6 +134,8 @@ size_t confstr(int, char *, size_t); #define F_TEST 3 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int setreuid(uid_t, uid_t); +int setregid(gid_t, gid_t); int lockf(int, int, off_t); long gethostid(void); int nice(int); -- cgit v1.2.1