Browse Source

fix various header namespace issues under feature-test-macro control

reported and changes suggested by Daniel Sabogal.
Rich Felker 8 years ago
parent
commit
7597fc25a2
6 changed files with 18 additions and 7 deletions
  1. 5 2
      include/dirent.h
  2. 2 0
      include/grp.h
  3. 2 0
      include/pwd.h
  4. 5 2
      include/sys/stat.h
  5. 2 1
      include/time.h
  6. 2 2
      include/unistd.h

+ 5 - 2
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

+ 2 - 0
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 *);

+ 2 - 0
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 *);

+ 5 - 2
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);
 

+ 2 - 1
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

+ 2 - 2
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);