about summary refs log tree commit diff
path: root/stdio-common/vfscanf.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-28 04:27:24 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-28 04:27:24 +0000
commit0e16ecfa1e7689c0b3be626f9a3441ebb5710c70 (patch)
tree12a793be9d9a1f7a4a911239194bae33470dcb23 /stdio-common/vfscanf.c
parent37696206076f6f075542adfdc4b1fe49100e9f32 (diff)
downloadglibc-0e16ecfa1e7689c0b3be626f9a3441ebb5710c70.tar.gz
glibc-0e16ecfa1e7689c0b3be626f9a3441ebb5710c70.tar.xz
glibc-0e16ecfa1e7689c0b3be626f9a3441ebb5710c70.zip
Update.
	* locale/programs/ld-ctype.c (ctype_finish): Take all characters from
	the input charset into account when generating the hash table.
	(allocate_arrays): Correct setting default width.  Not all empty slots
	in the table are filled, only those not covert explicitly by the
	locale description and in the charset.

	* stdio-common/vfscanf.c: Make sure to always return WEOF and EOF for
	wide character version.
	For %C handling, test correct pointer variable for NULL.

	* wcsmbs/wctob.c: Handle WEOF special.

	* wcsmbs/wcwidth.h: 0xff in width array means invalid character.

	* wctype/wctype.h: Protect gcc-isms with __extension__.  Avoid
	always-true test to avoid warning.
Diffstat (limited to 'stdio-common/vfscanf.c')
-rw-r--r--stdio-common/vfscanf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
index 3ca82cc4c7..feff0eb50a 100644
--- a/stdio-common/vfscanf.c
+++ b/stdio-common/vfscanf.c
@@ -86,7 +86,7 @@
 #  define ISXDIGIT(Ch)	  iswxdigit (Ch)
 #  define TOLOWER(Ch)	  towlower (Ch)
 #  define ORIENT	  if (s->_vtable_offset == 0 && _IO_fwide (s, 1) != 1)\
-			    return EOF
+			    return WEOF
 #  define __strtoll_internal	__wcstoll_internal
 #  define __strtoull_internal	__wcstoull_internal
 #  define __strtol_internal	__wcstol_internal
@@ -99,6 +99,8 @@
 #  define CHAR_T	  wchar_t
 #  define UCHAR_T	  unsigned int
 #  define WINT_T	  wint_t
+#  undef EOF
+#  define EOF		  WEOF
 # else
 #  define ungetc(c, s)	((void) ((int) c == EOF				      \
 				 || (--read_in,				      \
@@ -715,7 +717,7 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
 	  if (!(flags & SUPPRESS))
 	    {
 	      wstr = ARG (wchar_t *);
-	      if (str == NULL)
+	      if (wstr == NULL)
 		conv_error ();
 	    }