diff options
| author | Geoff Rehmet <csgr@FreeBSD.org> | 1994-09-30 14:50:09 +0000 |
|---|---|---|
| committer | Geoff Rehmet <csgr@FreeBSD.org> | 1994-09-30 14:50:09 +0000 |
| commit | 60643d379b73fbb523325aa82009e9d1a0675573 (patch) | |
| tree | 74873a7f8b1a654a96addadb5929b6249491922d /eBones/lib/libkrb/fgetst.c | |
| parent | 3c6459e594dba63b0a1c54fd5b99a3315d522b40 (diff) | |
Notes
Diffstat (limited to 'eBones/lib/libkrb/fgetst.c')
| -rw-r--r-- | eBones/lib/libkrb/fgetst.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/eBones/lib/libkrb/fgetst.c b/eBones/lib/libkrb/fgetst.c new file mode 100644 index 000000000000..d938013560b0 --- /dev/null +++ b/eBones/lib/libkrb/fgetst.c @@ -0,0 +1,39 @@ +/* + * Copyright 1987, 1988 by the Massachusetts Institute of Technology. + * For copying and distribution information, please see the file + * <Copyright.MIT>. + * + * from: fgetst.c,v 4.0 89/01/23 10:08:31 jtkohl Exp $ + * $Id: fgetst.c,v 1.2 1994/07/19 19:25:10 g89r4222 Exp $ + */ + +#ifndef lint +static char rcsid[] = +"$Id: fgetst.c,v 1.2 1994/07/19 19:25:10 g89r4222 Exp $"; +#endif /* lint */ + +#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); +} |
