From: Junio C Hamano Date: Thu, 14 Jan 2016 03:03:06 GMT Subject: [PREVIEW v3 6/9] check-ignore: there are only two line terminators Message-ID: <1452740590-16827-7-git-send-email-gitster@pobox.com> In-Reply-To: <1452740590-16827-1-git-send-email-gitster@pobox.com> The program by default works on LF terminated lines, with an option to use NUL terminated records. Instead of using line_termination that happens to take LF or NUL, use the value of nul_term_line and switch between strbuf_getline_{lf,nul} based on it. Signed-off-by: Junio C Hamano --- builtin/check-ignore.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/builtin/check-ignore.c b/builtin/check-ignore.c index 43f3617..4f0b09e 100644 --- a/builtin/check-ignore.c +++ b/builtin/check-ignore.c @@ -117,13 +117,14 @@ static int check_ignore_stdin_paths(struct dir_struct *dir, const char *prefix) { struct strbuf buf, nbuf; char *pathspec[2] = { NULL, NULL }; - int line_termination = nul_term_line ? 0 : '\n'; + strbuf_getline_fn getline_fn; int num_ignored = 0; + getline_fn = nul_term_line ? strbuf_getline_nul : strbuf_getline_lf; strbuf_init(&buf, 0); strbuf_init(&nbuf, 0); - while (strbuf_getline(&buf, stdin, line_termination) != EOF) { - if (line_termination && buf.buf[0] == '"') { + while (getline_fn(&buf, stdin) != EOF) { + if (!nul_term_line && buf.buf[0] == '"') { strbuf_reset(&nbuf); if (unquote_c_style(&nbuf, buf.buf, NULL)) die("line is badly quoted"); -- 2.7.0-242-gdd583c7