summary refs log tree commit diff
path: root/libio
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-06-21 13:38:44 +0000
committerUlrich Drepper <drepper@redhat.com>1999-06-21 13:38:44 +0000
commit655c0697188085dea9377402e5fe9eadbe591a4f (patch)
tree2980da2361a28d97051cc3f69a8e8e9733df2dd8 /libio
parent8811906f25f4c4592419a2073f785edf0b7061de (diff)
downloadglibc-655c0697188085dea9377402e5fe9eadbe591a4f.tar.gz
glibc-655c0697188085dea9377402e5fe9eadbe591a4f.tar.xz
glibc-655c0697188085dea9377402e5fe9eadbe591a4f.zip
Update.
1999-06-18  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/alpha/atomicity.h: Correct counting of subsections.

1999-06-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* stdlib/tst-strtoll.c: Avoid warning about huge constant.

1999-06-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* stdio-common/vfprintf.c (group_member): Make parameters and
	return types pointers to CHAR_T instead of UCHAR_T.
	(vfprintf): Change type of work_buffer, workend and string to
	CHAR_T pointer/array.
	(process_arg, process_string_arg): Adjust/remove casts.  Add
	missing use of L_ macro.
	(printf_unknown): Add missing uses of L_ macro.

1999-06-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* wcsmbs/wcschrnul.c: Explicitly cast return value to avoid
	warning.

1999-06-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* libio/wgenops.c (__wuflow): Fix use of WEOF vs. EOF.  Call
	_IO_switch_to_wget_mode instead of _IO_switch_to_get_mode.
	(__wunderflow): Likewise.
	(_IO_switch_to_wget_mode): Likewise.
	(_IO_init_wmarker): Likewise.

	* libio/wfileops.c (_IO_wfile_seekoff): Call
	_IO_switch_to_wget_mode, not _IO_switch_to_get_mode.
	(_IO_wfile_jumps): Fix pbackfail entry.

	* libio/iosetvbuf.c (_IO_setvbuf): Only call wide char setbuf
	function if the stream is currently unoriented.

1999-06-19  Zack Weinberg  <zack@rabi.columbia.edu>

	* wcsmbs/wchar.h: Define __need___va_list before including stdarg.h.
	Wrap all wide stream functions with #ifdef __USE_ISOC9X.  Use
	__gnuc_va_list in v*w(printf|scanf) prototypes.

1999-06-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* libio/oldiopopen.c (_IO_old_proc_open): Apply change from
	1999-03-29 to iopopen also here.
	Reported by Richard Braakman <dark@xs4all.nl>.

1999-06-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* include/features.h: Use __GNUC_PREREQ.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise

1999-06-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* stdio-common/vfscanf.c (ungetc, inchar) [COMPILE_WPRINTF]:
	Change EOF to WEOF and remove cast.
	(UNGETC): Remove macro.
	(_IO_vfwscanf): Change isspace to ISSPACE and UNGETC to ungetc.
	* stdio-common/printf-parse.h (find_spec) [!COMPILE_WPRINTF]:
	Change ISASCII to isascii and MBRLEN to mbrlen.
	(parse_one_spec): Compare info.spec always against wchar_t
	values.
	* stdio-common/vfprintf.c: Remove unused ISASCII and MBRLEN.
	(_itoa, _itoa_word) [COMPILE_WRPINTF]: Don't cast second argument.
	(NOT_IN_JUMP_RANGE, CHAR_CLASS): Change (int) to (INT_T), use L_.

1999-06-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* libio/Makefile (shared-only-routines): Add oldiofgetpos,
	oldiofgetpos64, oldiofsetpos and oldiofsetpos64.
	(routines): Include oldiofgetpos, oldiofgetpos64, oldiofsetpos and
	oldiofsetpos64 only if doing versioning.
Diffstat (limited to 'libio')
-rw-r--r--libio/Makefile8
-rw-r--r--libio/iosetvbuf.c2
-rw-r--r--libio/oldiopopen.c9
-rw-r--r--libio/wfileops.c4
-rw-r--r--libio/wgenops.c14
5 files changed, 19 insertions, 18 deletions
diff --git a/libio/Makefile b/libio/Makefile
index 6fcde40814..6759b84f1d 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -30,7 +30,6 @@ routines	:=							      \
 	ioseekoff ioseekpos iosetbuffer iosetvbuf iosprintf ioungetc	      \
 	iovsprintf iovsscanf						      \
 	iofgetpos64 iofopen64 iofsetpos64				      \
-	oldiofgetpos oldiofgetpos64 oldiofsetpos oldiofsetpos64		      \
 	fputwc fputwc_u getwc getwc_u getwchar getwchar_u iofgetws iofgetws_u \
 	iofputws iofputws_u iogetwline iowpadn ioungetwc putwc putwc_u	      \
 	putchar putchar_u swprintf vwprintf wprintf wscanf fwscanf vwscanf    \
@@ -51,7 +50,8 @@ include ../Makeconfig
 
 ifeq ($(versioning),yes)
 routines += oldiofopen oldiofdopen oldiofclose oldiopopen oldpclose \
-	    oldtmpfile
+	    oldtmpfile oldiofgetpos oldiofgetpos64 oldiofsetpos	    \
+	    oldiofsetpos64
 endif
 
 ifneq (,$(filter %REENTRANT, $(defines)))
@@ -69,7 +69,9 @@ aux	+= oldfileops oldstdfiles
 endif
 
 shared-only-routines = oldiofopen oldiofdopen oldiofclose oldfileops	\
-		       oldstdfiles oldiopopen oldpclose oldtmpfile
+		       oldstdfiles oldiopopen oldpclose oldtmpfile	\
+		       oldiofgetpos oldiofgetpos64 oldiofsetpos		\
+		       oldiofsetpos64
 
 distribute := iolibio.h libioP.h strfile.h Banner
 
diff --git a/libio/iosetvbuf.c b/libio/iosetvbuf.c
index b9ef31a278..5dc5eedffe 100644
--- a/libio/iosetvbuf.c
+++ b/libio/iosetvbuf.c
@@ -90,7 +90,7 @@ _IO_setvbuf (fp, buf, mode, size)
       goto unlock_return;
     }
   result = _IO_SETBUF (fp, buf, size) == NULL ? EOF : 0;
-  if (result == 0 && fp->_mode > 0)
+  if (result == 0 && fp->_mode == 0)
     /* We also have to set the buffer using the wide char function.  */
     result = ((*fp->_wide_data->_wide_vtable->__setbuf) (fp, buf, size) == NULL
 	      ? EOF : 0);
diff --git a/libio/oldiopopen.c b/libio/oldiopopen.c
index c4116baae3..556a9ff86f 100644
--- a/libio/oldiopopen.c
+++ b/libio/oldiopopen.c
@@ -140,6 +140,8 @@ _IO_old_proc_open (fp, command, mode)
   if (child_pid == 0)
     {
       int child_std_end = mode[0] == 'r' ? 1 : 0;
+      struct _IO_proc_file *p;
+      
       _IO_close (parent_end);
       if (child_end != child_std_end)
 	{
@@ -149,11 +151,8 @@ _IO_old_proc_open (fp, command, mode)
       /* POSIX.2:  "popen() shall ensure that any streams from previous
          popen() calls that remain open in the parent process are closed
 	 in the new child process." */
-      while (old_proc_file_chain)
-	{
-	  _IO_close (_IO_fileno ((_IO_FILE *) old_proc_file_chain));
-	  old_proc_file_chain = old_proc_file_chain->next;
-	}
+      for (p = old_proc_file_chain; p; p = p->next)
+	_IO_close (_IO_fileno ((_IO_FILE *) p));
 
       _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0);
       _IO__exit (127);
diff --git a/libio/wfileops.c b/libio/wfileops.c
index b040b97491..f3f8bf25dd 100644
--- a/libio/wfileops.c
+++ b/libio/wfileops.c
@@ -421,7 +421,7 @@ _IO_wfile_seekoff (fp, offset, dir, mode)
 
   if (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_write_base
       || _IO_in_put_mode (fp))
-    if (_IO_switch_to_get_mode (fp))
+    if (_IO_switch_to_wget_mode (fp))
       return WEOF;
 
   if (fp->_wide_data->_IO_buf_base == NULL)
@@ -698,7 +698,7 @@ struct _IO_jump_t _IO_wfile_jumps =
   JUMP_INIT(overflow, (_IO_overflow_t) _IO_wfile_overflow),
   JUMP_INIT(underflow, (_IO_underflow_t) _IO_wfile_underflow),
   JUMP_INIT(uflow, (_IO_underflow_t) _IO_wdefault_uflow),
-  JUMP_INIT(pbackfail, _IO_default_pbackfail),
+  JUMP_INIT(pbackfail, (_IO_pbackfail_t) _IO_wdefault_pbackfail),
   JUMP_INIT(xsputn, _IO_wfile_xsputn),
   JUMP_INIT(xsgetn, _IO_file_xsgetn),
   JUMP_INIT(seekoff, _IO_wfile_seekoff),
diff --git a/libio/wgenops.c b/libio/wgenops.c
index 496d080014..6144a1014e 100644
--- a/libio/wgenops.c
+++ b/libio/wgenops.c
@@ -239,12 +239,12 @@ __wuflow (fp)
      _IO_FILE *fp;
 {
   if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1))
-    return EOF;
+    return WEOF;
 
   if (fp->_mode == 0)
     _IO_fwide (fp, 1);
   if (_IO_in_put_mode (fp))
-    if (_IO_switch_to_get_mode (fp) == EOF)
+    if (_IO_switch_to_wget_mode (fp) == EOF)
       return WEOF;
   if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
     return *fp->_wide_data->_IO_read_ptr++;
@@ -270,10 +270,10 @@ __wunderflow (fp)
      _IO_FILE *fp;
 {
   if (fp->_mode < 0 || (fp->_mode == 0 && _IO_fwide (fp, 1) != 1))
-    return EOF;
+    return WEOF;
 
   if (_IO_in_put_mode (fp))
-    if (_IO_switch_to_wget_mode (fp) == WEOF)
+    if (_IO_switch_to_wget_mode (fp) == EOF)
       return WEOF;
   if (fp->_wide_data->_IO_read_ptr < fp->_wide_data->_IO_read_end)
     return *fp->_wide_data->_IO_read_ptr;
@@ -286,7 +286,7 @@ __wunderflow (fp)
   if (_IO_have_markers (fp))
     {
       if (save_for_wbackup (fp, fp->_wide_data->_IO_read_end))
-	return EOF;
+	return WEOF;
     }
   else if (_IO_have_backup (fp))
     _IO_free_wbackup_area (fp);
@@ -447,7 +447,7 @@ _IO_switch_to_wget_mode (fp)
      _IO_FILE *fp;
 {
   if (fp->_wide_data->_IO_write_ptr > fp->_wide_data->_IO_write_base)
-    if (_IO_OVERFLOW (fp, EOF) == EOF)
+    if (_IO_OVERFLOW (fp, WEOF) == WEOF)
       return EOF;
   if (_IO_in_backup (fp))
     fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_backup_base;
@@ -663,7 +663,7 @@ _IO_init_wmarker (marker, fp)
 {
   marker->_sbuf = fp;
   if (_IO_in_put_mode (fp))
-    _IO_switch_to_get_mode (fp);
+    _IO_switch_to_wget_mode (fp);
   if (_IO_in_backup (fp))
     marker->_pos = fp->_wide_data->_IO_read_ptr - fp->_wide_data->_IO_read_end;
   else