Adding upstream version 3.35.
[syslinux-debian/hramrach.git] / com32 / lib / fgets.c
blob474de49c71e3eb4fad014c748ad83ade5c35816b
1 /*
2 * fgets.c
4 * This will be very slow due to the implementation of getc(),
5 * but we can't afford to drain characters we don't need from
6 * the input.
7 */
9 #include <stdio.h>
11 char *fgets(char *s, int n, FILE *f)
13 int ch;
14 char *p = s;
16 while ( n > 1 ) {
17 ch = getc(f);
18 if ( ch == EOF ) {
19 *p = '\0';
20 return (p == s) ? NULL : s;
22 *p++ = ch;
23 if ( ch == '\n' )
24 break;
25 n--;
27 if ( n )
28 *p = '\0';
30 return s;