ref: 5b9d9b6057b4ebdb7d4590c849607f6d0765c00c
dir: /lib/c/fgets.c/
#include <stdio.h>
#undef fgets
char *
fgets(char *s, int n, FILE *fp)
{
	int ch;
	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;
}