#define _GNU_SOURCE
#include "stdio_impl.h"
#include <string.h>

char *fgetln(FILE *f, size_t *plen)
{
	char *ret = 0, *z;
	ssize_t l;
	FLOCK(f);
	ungetc(getc_unlocked(f), f);
	if ((z=memchr(f->rpos, '\n', f->rend - f->rpos))) {
		ret = (char *)f->rpos;
		*plen = ++z - ret;
		f->rpos = (void *)z;
	} else if ((l = getline(&f->getln_buf, (size_t[]){0}, f)) > 0) {
		*plen = l;
		ret = f->getln_buf;
	}
	FUNLOCK(f);
	return ret;
}
