shithub: scc

ref: da8a8c7392b7176a11fd7eab84d6f9b2d27ae590
dir: /src/libc/stdio/fgets.c/

View raw version
#include <stdio.h>
#undef fgets

char *
fgets(char * restrict s, int n, FILE * restrict fp)
{
	int ch = 0;
	char *t = s;

	while (--n > 0 && (ch = getc(fp)) != EOF) {
		if ((*t++ = ch) == '\n')
			break;
	}
	if (ch == EOF && s == t)
		return NULL;
	*t = '\0';

	return s;
}