home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / IO / FGETS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  551 b   |  32 lines

  1. /* fgets.c (emx+gcc) -- Copyright (c) 1990-1993 by Eberhard Mattes */
  2.  
  3. #include <stdio.h>
  4.  
  5. char *fgets (char *buffer, int n, FILE *stream)
  6. {
  7.   int c;
  8.   char *dst;
  9.  
  10.   if (n <= 0)
  11.     return (NULL);
  12.   dst = buffer;
  13.   while (n > 1)
  14.     {
  15.       c = getc (stream);
  16.       if (c == EOF)
  17.         if (dst == buffer)
  18.           {
  19.             *dst = 0;
  20.             return (NULL);
  21.           }
  22.         else
  23.           break;
  24.       *dst++ = (char)c;
  25.       if (c == '\n')
  26.         break;
  27.       --n;
  28.     }
  29.   *dst = 0;
  30.   return (buffer);
  31. }
  32.