diff options
Diffstat (limited to 'debug/fgets_chk.c')
-rw-r--r-- | debug/fgets_chk.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/debug/fgets_chk.c b/debug/fgets_chk.c deleted file mode 100644 index 27fbede7f0..0000000000 --- a/debug/fgets_chk.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2005 - 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, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - 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 <stdio.h> -#include <sys/param.h> - -char * -__fgets_chk (buf, size, n, fp) - char *buf; - size_t size; - int n; - _IO_FILE *fp; -{ - _IO_size_t count; - char *result; - CHECK_FILE (fp, NULL); - if (n <= 0) - return NULL; - _IO_acquire_lock (fp); - /* 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 = fp->_IO_file_flags & _IO_ERR_SEEN; - fp->_IO_file_flags &= ~_IO_ERR_SEEN; - count = INTUSE(_IO_getline) (fp, buf, MIN ((size_t) n - 1, size), '\n', 1); - /* If we read in some bytes and errno is EAGAIN, that error will - be reported for next read. */ - if (count == 0 || ((fp->_IO_file_flags & _IO_ERR_SEEN) - && errno != EAGAIN)) - result = NULL; - else if (count >= size) - __chk_fail (); - else - { - buf[count] = '\0'; - result = buf; - } - fp->_IO_file_flags |= old_error; - _IO_release_lock (fp); - return result; -} |