home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
zip
/
gnu
/
gawk213s.lzh
/
GAWK213S
/
TEXTRD.C
< prev
next >
Wrap
C/C++ Source or Header
|
1993-07-29
|
652b
|
31 lines
/*
* From gnulib Atari ST sources - with a fix for a bug causing
* a premature EOF when only characters read are CR's.
* Written by Eric R. Smith and placed in the public domain.
* Fix - Michal Jaegermann, June 1991.
*/
#include <stdio.h>
#include <unistd.h>
int
_text_read(fd, buf, nbytes)
int fd;
char *buf;
int nbytes;
{
char *to, *from;
int r;
do {
r = read(fd, buf, nbytes);
if (r <= 0) /* if EOF or read error - return */
return r;
to = from = buf;
do {
if (*from == '\r')
from++;
else
*to++ = *from++;
} while (--r);
} while (buf == to); /* only '\r's? - try to read next nbytes */
return (to - buf);
}