home *** CD-ROM | disk | FTP | other *** search
- /*
- * $Source: /mit/kerberos/src/lib/krb/RCS/fgetst.c,v $
- * $Author: jtkohl $
- *
- * Copyright 1987, 1988 by the Massachusetts Institute of Technology.
- *
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- */
-
- #ifndef lint
- static char rcsid_fgetst_c[] =
- "$Header: fgetst.c,v 4.0 89/01/23 10:08:31 jtkohl Exp $";
- #endif /* lint */
-
- #include <mit-copyright.h>
- #include <stdio.h>
-
- /*
- * fgetst takes a file descriptor, a character pointer, and a count.
- * It reads from the file it has either read "count" characters, or
- * until it reads a null byte. When finished, what has been read exists
- * in "s". If "count" characters were actually read, the last is changed
- * to a null, so the returned string is always null-terminated. fgetst
- * returns the number of characters read, including the null terminator.
- */
-
- fgetst(f, s, n)
- FILE *f;
- register char *s;
- int n;
- {
- register count = n;
- int ch; /* NOT char; otherwise you don't see EOF */
-
- while ((ch = getc(f)) != EOF && ch && --count) {
- *s++ = ch;
- }
- *s = '\0';
- return (n - count);
- }
-