xref: /minix3/lib/libc/stdio/gets.c (revision b706112487045bc1efd01e3d4d53d9a6b04a0bca)
1 /*
2  * gets.c - read a line from a stream
3  */
4 /* $Header$ */
5 
6 #include	<stdio.h>
7 
8 char *
9 gets(char *s)
10 {
11 	register FILE *stream = stdin;
12 	register int ch;
13 	register char *ptr;
14 
15 	ptr = s;
16 	while ((ch = getc(stream)) != EOF && ch != '\n')
17 		*ptr++ = ch;
18 
19 	if (ch == EOF) {
20 		if (feof(stream)) {
21 			if (ptr == s) return NULL;
22 		} else return NULL;
23 	}
24 
25 	*ptr = '\0';
26 	return s;
27 }
28