diff options
author | Eric Blake <ebb9@byu.net> | 2009-04-30 13:18:49 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2009-04-30 16:47:13 -0600 |
commit | 875cae47a975df4721d1c492c03799535f5cf2f6 (patch) | |
tree | 1c08c93b4a87c59fa3210004bfb060bf9d08f7f6 /lib | |
parent | 269bb7362f39fb9ecefd64a1b2ab70aee4d3ffed (diff) | |
download | coreutils-875cae47a975df4721d1c492c03799535f5cf2f6.tar.xz |
stdopen: remove unused code
* m4/stdopen.m4: Delete now-unused file.
* lib/stdopen.h: Likewise.
* lib/stdopen.c: Likewise.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stdopen.c | 74 | ||||
-rw-r--r-- | lib/stdopen.h | 16 |
2 files changed, 0 insertions, 90 deletions
diff --git a/lib/stdopen.c b/lib/stdopen.c deleted file mode 100644 index e9b554485..000000000 --- a/lib/stdopen.c +++ /dev/null @@ -1,74 +0,0 @@ -/* stdopen.c - ensure that the three standard file descriptors are in use - - Copyright (C) 2005, 2006 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -/* Written by Paul Eggert and Jim Meyering. */ - -#include <config.h> - -#include "stdopen.h" - -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> - -/* Try to ensure that all of the standard file numbers (0, 1, 2) - are in use. Without this, each application would have to guard - every call to open, dup, fopen, etc. with tests to ensure they - don't use one of the special file numbers when opening a file. - Return false if at least one of the file descriptors is initially - closed and an attempt to reopen it fails. Otherwise, return true. */ -bool -stdopen (void) -{ - int fd; - bool ok = true; - - for (fd = 0; fd <= 2; fd++) - { - if (fcntl (fd, F_GETFD) < 0) - { - if (errno != EBADF) - ok = false; - else - { - static const int contrary_mode[] - = { O_WRONLY, O_RDONLY, O_RDONLY }; - int mode = contrary_mode[fd]; - int new_fd; - /* Open /dev/null with the contrary mode so that the typical - read (stdin) or write (stdout, stderr) operation will fail. - With descriptor 0, we can do even better on systems that - have /dev/full, by opening that write-only instead of - /dev/null. The only drawback is that a write-provoked - failure comes with a misleading errno value, ENOSPC. */ - if (mode == O_RDONLY - || (new_fd = open ("/dev/full", mode) != fd)) - new_fd = open ("/dev/null", mode); - if (new_fd != fd) - { - if (0 <= new_fd) - close (new_fd); - ok = false; - } - } - } - } - - return ok; -} diff --git a/lib/stdopen.h b/lib/stdopen.h deleted file mode 100644 index d54e5f135..000000000 --- a/lib/stdopen.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef STDOPEN_H -# define STDOPEN_H 1 - -# include <stdbool.h> - -# ifdef __cplusplus -extern "C" { -# endif - -bool stdopen (void); - -# ifdef __cplusplus -} -# endif - -#endif |