reverse definition dependency between PAGESIZE and PAGE_SIZE
[oweals/musl.git] / src / stdio / fgetln.c
1 #define _GNU_SOURCE
2 #include "stdio_impl.h"
3 #include <string.h>
4
5 char *fgetln(FILE *f, size_t *plen)
6 {
7         char *ret = 0, *z;
8         ssize_t l;
9         FLOCK(f);
10         ungetc(getc_unlocked(f), f);
11         if ((z=memchr(f->rpos, '\n', f->rend - f->rpos))) {
12                 ret = (char *)f->rpos;
13                 *plen = ++z - ret;
14                 f->rpos = (void *)z;
15         } else if ((l = getline(&f->getln_buf, (size_t[]){0}, f)) > 0) {
16                 *plen = l;
17                 ret = f->getln_buf;
18         }
19         FUNLOCK(f);
20         return ret;
21 }