Lines Matching refs:lf
359 lf_init (struct line_filter *lf, FILE *infile)
361 lf->infile = infile;
362 lf->bufpos = lf->buffer = lf->buflim = xmalloc (SDIFF_BUFSIZE + 1);
363 lf->buflim[0] = '\n';
368 lf_refill (struct line_filter *lf)
370 size_t s = ck_fread (lf->buffer, SDIFF_BUFSIZE, lf->infile);
371 lf->bufpos = lf->buffer;
372 lf->buflim = lf->buffer + s;
373 lf->buflim[0] = '\n';
380 lf_copy (struct line_filter *lf, lin lines, FILE *outfile)
382 char *start = lf->bufpos;
386 lf->bufpos = (char *) memchr (lf->bufpos, '\n', lf->buflim - lf->bufpos);
387 if (! lf->bufpos)
389 ck_fwrite (start, lf->buflim - start, outfile);
390 if (! lf_refill (lf))
392 start = lf->bufpos;
397 ++lf->bufpos;
401 ck_fwrite (start, lf->bufpos - start, outfile);
406 lf_skip (struct line_filter *lf, lin lines)
410 lf->bufpos = (char *) memchr (lf->bufpos, '\n', lf->buflim - lf->bufpos);
411 if (! lf->bufpos)
413 if (! lf_refill (lf))
419 ++lf->bufpos;
426 lf_snarf (struct line_filter *lf, char *buffer, size_t bufsize)
430 char *start = lf->bufpos;
431 char *next = (char *) memchr (start, '\n', lf->buflim + 1 - start);
436 if (next < lf->buflim)
439 lf->bufpos = next + 1;
442 if (! lf_refill (lf))