ack/lang/cem/libcc.ansi/core/stdio/gets.c
2018-06-23 18:54:40 +02:00

32 lines
382 B
C

/*
* gets.c - read a line from a stream
*/
/* $Id$ */
#include <stdio.h>
char* gets(char* s)
{
register FILE* stream = stdin;
register int ch;
register char* ptr;
ptr = s;
while ((ch = getc(stream)) != EOF && ch != '\n')
*ptr++ = ch;
if (ch == EOF)
{
if (feof(stream))
{
if (ptr == s)
return NULL;
}
else
return NULL;
}
*ptr = '\0';
return s;
}