size_t i=0;
int c;
+ FLOCK(f);
+
if (!n || !s) {
+ f->flags |= F_ERR;
+ FUNLOCK(f);
errno = EINVAL;
return -1;
}
if (!*s) *n=0;
- FLOCK(f);
-
for (;;) {
z = memchr(f->rpos, delim, f->rend - f->rpos);
k = z ? z - f->rpos + 1 : f->rend - f->rpos;
return i;
oom:
+ f->flags |= F_ERR;
FUNLOCK(f);
errno = ENOMEM;
return -1;