From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10431 Path: news.gmane.org!.POSTED!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] add missing *_unlocked and wcsftime_l prototypes to wchar.h Date: Fri, 9 Sep 2016 19:02:41 -0400 Message-ID: <20160909230241.GT15995@brightrain.aerifal.cx> References: <20160906210939.32637-1-dsabogalcc@gmail.com> <20160906210939.32637-2-dsabogalcc@gmail.com> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1473462194 13877 195.159.176.226 (9 Sep 2016 23:03:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 9 Sep 2016 23:03:14 +0000 (UTC) User-Agent: Mutt/1.5.21 (2010-09-15) To: musl@lists.openwall.com Original-X-From: musl-return-10444-gllmg-musl=m.gmane.org@lists.openwall.com Sat Sep 10 01:03:11 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1biUoz-0001hR-AJ for gllmg-musl@m.gmane.org; Sat, 10 Sep 2016 01:02:57 +0200 Original-Received: (qmail 15387 invoked by uid 550); 9 Sep 2016 23:02:57 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 15368 invoked from network); 9 Sep 2016 23:02:56 -0000 Content-Disposition: inline In-Reply-To: <20160906210939.32637-2-dsabogalcc@gmail.com> Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:10431 Archived-At: On Tue, Sep 06, 2016 at 05:09:39PM -0400, Daniel Sabogal wrote: > these functions had been implemented, but prototypes were not made available > --- > include/wchar.h | 12 ++++++++++++ > src/stdio/getwchar.c | 2 -- > src/stdio/getwchar_unlocked.c | 8 ++++++++ > src/stdio/putwchar.c | 2 -- > src/stdio/putwchar_unlocked.c | 8 ++++++++ > 5 files changed, 28 insertions(+), 4 deletions(-) > create mode 100644 src/stdio/getwchar_unlocked.c > create mode 100644 src/stdio/putwchar_unlocked.c > > diff --git a/include/wchar.h b/include/wchar.h > index 0167dce..58818f6 100644 > --- a/include/wchar.h > +++ b/include/wchar.h > @@ -136,6 +136,18 @@ size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const s > > #undef iswdigit > > +#if defined(_GNU_SOURCE) > +wint_t fgetwc_unlocked (FILE *); > +wint_t getwc_unlocked (FILE *); > +wint_t getwchar_unlocked (void); > +wint_t fputwc_unlocked (wchar_t, FILE *); > +wint_t putwc_unlocked (wchar_t, FILE *); > +wint_t putwchar_unlocked (wchar_t); > +wchar_t *fgetws_unlocked (wchar_t *__restrict, int, FILE *__restrict); > +int fputws_unlocked (const wchar_t *__restrict, FILE *__restrict); > +size_t wcsftime_l (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict, locale_t); > +#endif I suspect BSDs also had these so they should possibly be exposed under _GNU_SOURCE || _BSD_SOURCE. Thoughts? > diff --git a/src/stdio/getwchar.c b/src/stdio/getwchar.c > index bd89e0e..77a9dc1 100644 > --- a/src/stdio/getwchar.c > +++ b/src/stdio/getwchar.c > @@ -5,5 +5,3 @@ wint_t getwchar(void) > { > return fgetwc(stdin); > } > - > -weak_alias(getwchar, getwchar_unlocked); > diff --git a/src/stdio/getwchar_unlocked.c b/src/stdio/getwchar_unlocked.c > new file mode 100644 > index 0000000..1d00567 > --- /dev/null > +++ b/src/stdio/getwchar_unlocked.c > @@ -0,0 +1,8 @@ > +#define _GNU_SOURCE > +#include "stdio_impl.h" > +#include > + > +wint_t getwchar_unlocked(void) > +{ > + return fgetwc_unlocked(stdin); > +} What is the motivation for replacing the aliases with wrappers? This does not seem like an improvement. Rich