This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] manual: Document the standardized scanf flag, "m". [BZ #16376]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Zack Weinberg <zackw at panix dot com>
- Cc: Rical Jasan <ricaljasan at pacific dot net>, libc-alpha <libc-alpha at sourceware dot org>, Andreas Schwab <schwab at suse dot de>, Paul Eggert <eggert at cs dot ucla dot edu>
- Date: Fri, 9 Feb 2018 16:39:46 +0000
- Subject: Re: [PATCH] manual: Document the standardized scanf flag, "m". [BZ #16376]
- Authentication-results: sourceware.org; auth=none
- References: <7c42f58d-d076-aeb3-a229-2581aa03af94@pacific.net> <20180209130754.16006-1-ricaljasan@pacific.net> <CAKCAbMh9X1tcJDDJKhDkX95SG3=u-LLjoTGUHs_8eMM1qMivcA@mail.gmail.com>
On Fri, 9 Feb 2018, Zack Weinberg wrote:
> > +As a GNU extension predating @samp{m}, @samp{a} is also available, but
> > +its use is considered deprecated.
>
> let's be a little more specific here:
>
> +As a GNU extension, the modifier @samp{a} has the same effect as @samp{m}.
> +This extension predates POSIX.1-2008 and is now deprecated. Other C libraries
> +may interpret e.g.@: @samp{%as} as the @samp{%a} format for reading
> +floating-point numbers, followed by a literal @samp{s}.
Which glibc does in the absence of _GNU_SOURCE, since __USE_XOPEN2K is
defined by default. The redirection to __isoc99_scanf etc. is done if:
#if defined __USE_ISOC99 && !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
--
Joseph S. Myers
joseph@codesourcery.com