about summary refs log tree commit diff
path: root/libio/pclose.c
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2018-02-21 14:38:24 -0500
committerZack Weinberg <zackw@panix.com>2018-02-21 14:39:54 -0500
commit30bfee2630b960050d1d50cafaab43fc171abc03 (patch)
tree0e07b4ca9b2e087edec24afe3bfa07b42f7cfdb2 /libio/pclose.c
parentdf6c012b99499d95ed7fee53553a9f4d4473ccae (diff)
downloadglibc-30bfee2630b960050d1d50cafaab43fc171abc03.tar.gz
glibc-30bfee2630b960050d1d50cafaab43fc171abc03.tar.xz
glibc-30bfee2630b960050d1d50cafaab43fc171abc03.zip
Remove miscellaneous debris from libio.
This patch eliminates a number of #if 0 and #ifdef TODO blocks, macros
that are never used, macros that provide portability to substrates that
lack basic things like EINVAL and off_t, and other such debris.

I preserved IO_DEBUG and CHECK_FILE, even though as far as I can tell
IO_DEBUG is never defined and therefore CHECK_FILE never does
anything, because it seems like we might actually want to turn it _on_.

Installed stripped libraries and executables are unchanged, except,
again, that the line number of an assertion changes (this time it's
somewhere in fileops.c).

	* libio/libio.h (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust):
	Define here, unconditionally.
	* libio/iolibio.h (_IO_pos_BAD): Don't define here.
	* libio/libioP.h: Remove #if 0 blocks.
	(_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Don't define here.
	(_IO_va_start, COERCE_FILE, MAYBE_SET_EINVAL): Don't define.
	(CHECK_FILE): Don't use MAYBE_SET_EINVAL or COERCE_FILE.  Fix style.

	* libio/clearerr.c, libio/fputc.c, libio/getchar.c:
	Assume weak_alias is always defined.

	* libio/fileops.c, libio/genops.c, libio/oldfileops.c
	* libio/oldpclose.c, libio/pclose.c, libio/wfileops.c:
	Remove #if 0 and #ifdef TODO blocks.
	Assume text_set_element is always defined.

	* libio/iofdopen.c, libio/iogetdelim.c, libio/oldiofdopen.c
	Use __set_errno (EINVAL) instead of MAYBE_SET_EINVAL.
	* libio/tst-mmap-eofsync.c: Make #if 1 block unconditional.
Diffstat (limited to 'libio/pclose.c')
-rw-r--r--libio/pclose.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libio/pclose.c b/libio/pclose.c
index 74851b55ba..be7b330ce7 100644
--- a/libio/pclose.c
+++ b/libio/pclose.c
@@ -29,15 +29,12 @@
 #include <errno.h>
 #include <shlib-compat.h>
 
+/* POSIX does not require us to check that a stream passed to pclose()
+   was created by popen().  Instead we rely on _IO_SYSCLOSE to call
+   _proc_close when appropriate.  */
 int
 __new_pclose (FILE *fp)
 {
-#if 0
-  /* Does not actually test that stream was created by popen(). Instead,
-     it depends on the filebuf::sys_close() virtual to Do The Right Thing. */
-  if (fp is not a proc_file)
-    return -1;
-#endif
   return _IO_new_fclose (fp);
 }