fix places where _BSD_SOURCE failed to yield a superset of _XOPEN_SOURCE
authorRich Felker <dalias@aerifal.cx>
Wed, 10 Sep 2014 16:27:33 +0000 (12:27 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 10 Sep 2014 16:27:33 +0000 (12:27 -0400)
the vast majority of these failures seem to have been oversights at
the time _BSD_SOURCE was added, or perhaps shortly afterward. the one
which may have had some reason behind it is omission of setpgrp from
the _BSD_SOURCE feature profile, since the standard setpgrp interface
conflicts with a legacy (pre-POSIX) BSD interface by the same name.
however, such omission is not aligned with our general policy in this
area (for example, handling of similar _GNU_SOURCE cases) and should
not be preserved.

include/signal.h
include/stdlib.h
include/time.h
include/unistd.h

index c36e4d5..87301ba 100644 (file)
@@ -196,7 +196,7 @@ void psignal(int, const char *);
 
 #endif
 
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
 int killpg(pid_t, int);
 int sigaltstack(const stack_t *__restrict, stack_t *__restrict);
 int sighold(int);
index db569d9..97ce5a7 100644 (file)
@@ -114,9 +114,6 @@ long int random (void);
 void srandom (unsigned int);
 char *initstate (unsigned int, char *, size_t);
 char *setstate (char *);
-#endif
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 int putenv (char *);
 int posix_openpt (int);
 int grantpt (int);
index 6124ef1..16ec08a 100644 (file)
@@ -116,7 +116,7 @@ int timer_getoverrun (timer_t);
 #endif
 
 
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
 char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict);
 extern int daylight;
 extern long timezone;
index ac6055a..0fe75d5 100644 (file)
@@ -140,9 +140,6 @@ int lockf(int, int, off_t);
 long gethostid(void);
 int nice(int);
 void sync(void);
-#endif
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 pid_t setpgrp(void);
 char *crypt(const char *, const char *);
 void encrypt(char *, int);