fix feature test macro logic for _BSD_SOURCE
authorRich Felker <dalias@aerifal.cx>
Fri, 2 Aug 2013 22:14:44 +0000 (18:14 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 2 Aug 2013 22:14:44 +0000 (18:14 -0400)
in several places, _BSD_SOURCE was not even implying POSIX, resulting
in it being subtractive rather than additive (compared to the default
features).

include/locale.h
include/wchar.h
include/wctype.h

index f6a29b2ad014efeb9cdd4965c29f6e1e5f4199d1..7e80fd93ea3f6e3467c830ac99b21fe766787df6 100644 (file)
@@ -51,7 +51,7 @@ struct lconv *localeconv(void);
 
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
 #define __NEED_locale_t
 
index 96cd4447f8c34aa72817b4691b4855f00bd915d2..fd5aac5f7e1acf0db89a0e2184c2ae277b116018 100644 (file)
@@ -14,12 +14,12 @@ extern "C" {
 #define __NEED_wint_t
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define __NEED_locale_t
 #define __NEED_va_list
 #endif
 
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define __NEED_wctype_t
 #endif
 
@@ -137,7 +137,7 @@ size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const s
 #undef iswdigit
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)  || defined(_BSD_SOURCE)
 FILE *open_wmemstream(wchar_t **, size_t *);
 size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict);
 size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict);
@@ -153,7 +153,7 @@ int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
 size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t n, locale_t);
 #endif
 
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 int wcwidth (wchar_t);
 int wcswidth (const wchar_t *, size_t);
 int       iswalnum(wint_t);
index 8c544f24bb538df4ca2811dfd993aa2b68812046..3ac24f13841a762c1ee948cffed32c19841162e3 100644 (file)
@@ -11,7 +11,7 @@ extern "C" {
 #define __NEED_wctype_t
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define __NEED_locale_t
 #endif
 
@@ -47,7 +47,7 @@ wctype_t  wctype(const char *);
 #define iswdigit(a) (((unsigned)(a)-L'0') < 10)
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
 int iswalnum_l(wint_t, locale_t);
 int iswalpha_l(wint_t, locale_t);