/*
 * fgets.c
 *
 * This will be very slow due to the implementation of getc(),
 * but we don't have anywhere to put characters we don't need from
 * the input.
 */

#include <stdio.h>

char *fgets(char *s, int n, FILE *f)
{
	int ch;
	char *p = s;

	while (n > 1) {
		ch = getc(f);
		if (ch == EOF) {
			*p = '\0';
			return NULL;
		}
		*p++ = ch;
		n--;
		if (ch == '\n')
			break;
	}
	if (n)
		*p = '\0';

	return s;
}
