diff options
author | Roland McGrath <roland@gnu.org> | 2004-10-24 19:23:43 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2004-10-24 19:23:43 +0000 |
commit | 89c235754c8986b6394a969e92f75ba63ecbbf7c (patch) | |
tree | 880ae7f5c447ad63bc171148fc4b90ff102eecb2 /sysdeps/standalone/read.c | |
parent | 8aeb5058b6457cf9ca8d76026cbb60ca07015570 (diff) | |
download | glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.tar glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.tar.gz glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.tar.bz2 glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.zip |
Ancient files moved to ports repository
Diffstat (limited to 'sysdeps/standalone/read.c')
-rw-r--r-- | sysdeps/standalone/read.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/sysdeps/standalone/read.c b/sysdeps/standalone/read.c deleted file mode 100644 index 0fb9e7a1ec..0000000000 --- a/sysdeps/standalone/read.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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. */ - -#include <errno.h> -#include <unistd.h> -#include <stddef.h> - -#include "filedesc.h" -#include <fcntl.h> -#include <standalone.h> - -/* Read NBYTES into BUF from FD. Return the number read or -1. */ -ssize_t -__libc_read (int fd, void *buf, size_t nbytes) -{ - char *buffer = (char *) buf; - int data; - int poll; - - __set_errno (0); - - if (nbytes == 0) - return 0; - - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - if (buf == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if ( __FD_Table[ fd ].flags & O_WRONLY ) /* is it write only? */ - { - __set_errno (EBADF); - return -1; - } - - /* If this is a non-blocking fd, then we want to poll the console. */ - - poll = ( __FD_Table[ fd ].flags & O_NONBLOCK ) ? 1 : 0; - - /* Read a single character. This is a cheap way to insure that the - upper layers get every character because _Console_Getc can't timeout - or otherwise know when to stop. */ - - - data = _Console_Getc(poll); - - if ( data == -1 ) /* if no data return */ - return -1; - - (void) _Console_Putc(data); /* echo the character */ - - if ( data == '\r' ) { /* translate CR -> CR/LF */ - (void) _Console_Putc('\n'); - data = '\n'; - } - - *buffer = data; - return 1; -} -libc_hidden_def (__libc_read) -weak_alias (__libc_read, __read) -libc_hidden_weak (__read) -weak_alias (__libc_read, read) |