ref: b9d7c95aa5bf9e06fc7d6a58cd5d0c600f128bf3
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; while (--n > 0 && (ch = getc(fp)) != EOF) { if ((*t++ = ch) == '\n') break; } if (ch == EOF && s == t) return NULL; *t = '\0'; return s; }