fix various header namespace issues under feature-test-macro control
authorRich Felker <dalias@aerifal.cx>
Thu, 20 Oct 2016 21:20:01 +0000 (17:20 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 20 Oct 2016 21:20:01 +0000 (17:20 -0400)
reported and changes suggested by Daniel Sabogal.

include/dirent.h
include/grp.h
include/pwd.h
include/sys/stat.h
include/time.h
include/unistd.h

index 006a360..88d3c3c 100644 (file)
@@ -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
index d858140..27e8c5e 100644 (file)
@@ -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 *);
index 07a5871..4f470b5 100644 (file)
@@ -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 *);
index 82a6490..9d09662 100644 (file)
@@ -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);
 
index a408679..672b3fc 100644 (file)
@@ -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
index 2c35588..09190af 100644 (file)
@@ -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);