ref: 56f48a1788a3d7e1e6ee53d58f4849c6b9b3a01c
dir: /src/libc/stdio/fgets.c/
#include <stdio.h>
#undef fgets
char *
fgets(char *restrict s, int n, FILE *restrict fp)
{
int ch = 0;
char *t = s;
for (--n; n > 0; --n) {
if ((ch = getc(fp)) == EOF)
break;
if ((*t++ = ch) == '\n')
break;
}
if (ch == EOF && s == t)
return NULL;
*t = '\0';
return s;
}