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]
On Fri, 9 Feb 2018, Zack Weinberg wrote:
> >> +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)
>
> I'm tempted to suggest that we drop the __USE_GNU - meaning that 'a'
> would only be a modifier under -std=gnu89, if I'm reading that
That seems reasonable to me. (With a corresponding change to
bits/stdio-ldbl.h to keep things consistent in the -mlong-double-64 case.)
--
Joseph S. Myers
joseph@codesourcery.com