home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume24 / mkid2 / part01 / gets0.c < prev    next >
C/C++ Source or Header  |  1991-10-09  |  575b  |  31 lines

  1. /* Copyright (c) 1986, Greg McGary */
  2. static char sccsid[] = "@(#)gets0.c    1.1 86/10/09";
  3.  
  4. #include    <stdio.h>
  5.  
  6. int fgets0();
  7.  
  8. /*
  9.     This is like fgets(3s), except that lines are
  10.     delimited by NULs rather than newlines.  Also,
  11.     we return the number of characters gotten rather
  12.     than the address of buf0.
  13. */
  14. int
  15. fgets0(buf0, size, inFILE)
  16.     char        *buf0;
  17.     int        size;
  18.     register FILE    *inFILE;
  19. {
  20.     register char    *buf;
  21.     register int    c;
  22.     register char    *end;
  23.  
  24.     buf = buf0;
  25.     end = &buf[size];
  26.     while ((c = getc(inFILE)) > 0 && buf < end)
  27.         *buf++ = c;
  28.     *buf = '\0';
  29.     return (buf - buf0);
  30. }
  31.