source: bootcd/isolinux/syslinux-6.03/com32/lib/fgets.c

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 449 bytes
Line 
1/*
2 * fgets.c
3 *
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 */
8
9#include <stdio.h>
10
11char *fgets(char *s, int n, FILE * f)
12{
13    int ch;
14    char *p = s;
15
16    while (n > 1) {
17        ch = getc(f);
18        if (ch == EOF) {
19            *p = '\0';
20            return (p == s) ? NULL : s;
21        }
22        *p++ = ch;
23        if (ch == '\n')
24            break;
25        n--;
26    }
27    if (n)
28        *p = '\0';
29
30    return s;
31}
Note: See TracBrowser for help on using the repository browser.