From eb35b0972f174cd58f118737c2935653309df7e9 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 6 Sep 2003 09:56:14 +0000 Subject: Update. * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Fill in c_ispeed and c_ospeed fields. * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Set c_ospeed field. (cfsetispeed): Set c_ispeed field. * sysdeps/unix/sysv/linux/tcsetattr.c (IBAUD0): Define unconditionally to match corresponding speed.c code. 2003-09-06 Ulrich Drepper * libio/wfileops.c (_IO_wfile_underflow): Mark beginning of the narrow character buffer. * libio/Makefile: Add rules to build and run bug-ftell. * libio/bug-ftell.c: New file. * stdio-common/vfprintf.c: Don't use the first grouping number twice. * stdio-common/vfscanf.c (vfscanf): Fix recognition of characters matching the decimal point and possibly leading the thousands separator. This caused the recognition of thousands separators to always fail. 2003-09-05 Ulrich Drepper * libio/fileops.c (_IO_new_file_overflow): Handle switching to write mode from read in backup buffer. * libio/Makefile (tests): Add bug-ungetc2. * libio/bug-ungetc2.c: New file. 2003-09-05 Roland McGrath >>>>>>> 1.7905 * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define VXFS_SUPER_MAGIC. --- stdio-common/vfscanf.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'stdio-common/vfscanf.c') diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c index 4f6a531b0c..75e187b765 100644 --- a/stdio-common/vfscanf.c +++ b/stdio-common/vfscanf.c @@ -1776,7 +1776,8 @@ __vfscanf (FILE *s, const char *format, va_list argptr) ADDW (c); got_dot = 1; } - else if (thousands != L'\0' && ! got_dot && c == thousands) + else if ((flags & GROUP) != 0 && thousands != L'\0' + && ! got_dot && c == thousands) ADDW (c); else { @@ -1820,12 +1821,13 @@ __vfscanf (FILE *s, const char *format, va_list argptr) we can compare against it. */ const char *cmp2p = thousands; - if (thousands != NULL && ! got_dot) + if ((flags & GROUP) != 0 && thousands != NULL + && ! got_dot) { - while (cmp2p < cmpp + while (cmp2p - thousands < cmpp - decimal && *cmp2p == decimal[cmp2p - thousands]) ++cmp2p; - if (cmp2p == cmpp) + if (cmp2p - thousands == cmpp - decimal) { while ((unsigned char) *cmp2p == c && avail > 0) if (*++cmp2p == '\0') -- cgit v1.2.3