Re: [PATCH 2/2] builtin/cat-file.c: support NUL-delimited input with `-z`
On Fri, Jul 22, 2022 at 4:34 PM Taylor Blau <me@ttaylorr.com> wrote:
Show 19 quoted lines
> The refactoring here is slightly unfortunate, since we turn loops like:
>
> while (strbuf_getline(&buf, stdin) != EOF)
>
> into:
>
> while (1) {
> int ret;
> if (opt->nul_terminated)
> ret = strbuf_getline_nul(&input, stdin);
> else
> ret = strbuf_getline(&input, stdin);
>
> if (ret == EOF)
> break;
> }
>
> It's tempting to think that we could use `strbuf_getwholeline()` and
> specify either `\n` or `\0` as the terminating character. ...How about:
int (*get)(struct strbuf *, FILE *);
get = opt->nul_terminated ? strbuf_getline_nul : strbuf_getline;
while (get(&buf, stdin) != EOF)or similar?
Chris