diff options
Diffstat (limited to 'libio/iogets.c')
-rw-r--r-- | libio/iogets.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/libio/iogets.c b/libio/iogets.c deleted file mode 100644 index 432cecb75c..0000000000 --- a/libio/iogets.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 1993-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. - - As a special exception, if you link the code in this file with - files compiled with a GNU compiler to produce an executable, - that does not cause the resulting executable to be covered by - the GNU Lesser General Public License. This exception does not - however invalidate any other reasons why the executable file - might be covered by the GNU Lesser General Public License. - This exception applies to code released by its copyright holders - in files containing the exception. */ - -#include "libioP.h" -#include <limits.h> - -char * -_IO_gets (char *buf) -{ - _IO_size_t count; - int ch; - char *retval; - - _IO_acquire_lock (_IO_stdin); - ch = _IO_getc_unlocked (_IO_stdin); - if (ch == EOF) - { - retval = NULL; - goto unlock_return; - } - if (ch == '\n') - count = 0; - else - { - /* This is very tricky since a file descriptor may be in the - non-blocking mode. The error flag doesn't mean much in this - case. We return an error only when there is a new error. */ - int old_error = _IO_stdin->_IO_file_flags & _IO_ERR_SEEN; - _IO_stdin->_IO_file_flags &= ~_IO_ERR_SEEN; - buf[0] = (char) ch; - count = _IO_getline (_IO_stdin, buf + 1, INT_MAX, '\n', 0) + 1; - if (_IO_stdin->_IO_file_flags & _IO_ERR_SEEN) - { - retval = NULL; - goto unlock_return; - } - else - _IO_stdin->_IO_file_flags |= old_error; - } - buf[count] = 0; - retval = buf; -unlock_return: - _IO_release_lock (_IO_stdin); - return retval; -} - -#ifdef weak_alias -weak_alias (_IO_gets, gets) -#endif - -#ifdef _LIBC -link_warning (gets, "the `gets' function is dangerous and should not be used.") -#endif |