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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to