Public bug reported:
This is Ubuntu 8.04, libc6-dev 2.7-10ubuntu3.
The file /usr/include/stdio.h has a typo or line 495, as "__isoc99_vsscanf"
should be "__isoc99_vscanf". For context:
# if !defined __USE_GNU \
&& (!defined __LDBL_COMPAT || !defined __REDIRECT) \
&& (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
# ifdef __REDIRECT
[snip]
# else
extern int __isoc99_vfscanf (FILE *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vscanf (__const char *__restrict __format,
_G_va_list __arg) __wur;
extern int __isoc99_vsscanf (__const char *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg) __THROW;
# define vfscanf __isoc99_vfscanf
# define vscanf __isoc99_vsscanf /* bad line */
# define vsscanf __isoc99_vsscanf
# endif
# endif
You can see both vscanf and vsscanf are defined to the same thing, and vscanf
is wrong.
This affects non-GNU compilers where the user wants strict C99 or POSIX.
** Affects: glibc (Ubuntu)
Importance: Undecided
Status: New
--
vscanf defined incorrectly for non-GNU compilers in stdio.h when strict C99 or
POSIX set
https://bugs.launchpad.net/bugs/234893
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs