if (c == '\n') break;
gzfgetln(gzFile *f, size_t *len){	size_t		n;	int		c;	for (n = 0; ; ++n) {		c = gzgetc(f);		if (c == -1) {			const char *gzerrstr;			int gzerr;			if (gzeof(f))				break;			gzerrstr = gzerror(f, &gzerr);			if (gzerr == Z_ERRNO)				err(2, "%s", fname);			else				errx(2, "%s: %s", fname, gzerrstr);		}		if (c == '\n')			break;		if (n >= lnbuflen) {			lnbuflen *= 2;			lnbuf = grep_realloc(lnbuf, ++lnbuflen);		}		lnbuf[n] = c;	}	if (gzeof(f) && n == 0)		return NULL;	*len = n;	return lnbuf;}