Home
       fgets.c - scc - simple c99 compiler
  HTML git clone git://git.simple-cc.org/scc
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
       fgets.c (293B)
       ---
            1 #include <stdio.h>
            2 
            3 #undef fgets
            4 
            5 char *
            6 fgets(char *restrict s, int n, FILE *restrict fp)
            7 {
            8         int ch = 0;
            9         char *t = s;
           10 
           11         for (--n; n > 0; --n) {
           12                 if ((ch = getc(fp)) == EOF)
           13                         break;
           14                 if ((*t++ = ch) == '\n')
           15                         break;
           16         }
           17         if (ch == EOF && s == t)
           18                 return NULL;
           19         *t = '\0';
           20 
           21         return s;
           22 }