don't do 1 byte writes, buffer and flush unbuffered I/O (stderr).
[unix-history] / usr / src / lib / libc / stdio / fgets.c
/* @(#)fgets.c 4.1 (Berkeley) %G% */
#include <stdio.h>
char *
fgets(s, n, iop)
char *s;
register FILE *iop;
{
register c;
register char *cs;
cs = s;
while (--n>0 && (c = getc(iop))>=0) {
*cs++ = c;
if (c=='\n')
break;
}
if (c<0 && cs==s)
return(NULL);
*cs++ = '\0';
return(s);
}