Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 17 Sep 2016 10:36:44 -0400
From: Daniel Sabogal <dsabogalcc@...il.com>
To: musl@...ts.openwall.com
Subject: [PATCH] move wcswcs prototype under feature test

wcswcs was an xsi extension removed in issue 7 of posix.
openbsd and netbsd also provide this prototype so we expose it
under _BSD_SOURCE as well.
---
 include/wchar.h     | 6 +++++-
 src/string/wcswcs.c | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/wchar.h b/include/wchar.h
index 3e6db5f..7503daf 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -67,7 +67,6 @@ wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__res
 size_t wcslen (const wchar_t *);
 
 wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict);
-wchar_t *wcswcs (const wchar_t *, const wchar_t *);
 
 wchar_t *wmemchr (const wchar_t *, wchar_t, size_t);
 int wmemcmp (const wchar_t *, const wchar_t *, size_t);
@@ -168,6 +167,11 @@ 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(_GNU_SOURCE) || defined(_BSD_SOURCE) \
+	|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE < 700)
+wchar_t *wcswcs (const wchar_t *, const wchar_t *);
+#endif
+
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 int wcwidth (wchar_t);
 int wcswidth (const wchar_t *, size_t);
diff --git a/src/string/wcswcs.c b/src/string/wcswcs.c
index 9cfe4ac..9246733 100644
--- a/src/string/wcswcs.c
+++ b/src/string/wcswcs.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
 #include <wchar.h>
 
 wchar_t *wcswcs(const wchar_t *haystack, const wchar_t *needle)
-- 
2.10.0

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.