diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-01-28 16:10:14 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-01-28 16:10:14 -0800 |
commit | b62624b51a54325e6884c197352dc0dcef700325 (patch) | |
tree | 2a5c68bae2133bbb762253f183abcc6f00f8faef /builtin/checkout-index.c | |
parent | 116a866bf50da9b893623ebb940e1c6bff7a29bc (diff) | |
parent | 1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2 (diff) | |
download | git-b62624b51a54325e6884c197352dc0dcef700325.tar.gz |
Merge branch 'jc/strbuf-getline'
The preliminary clean-up for jc/peace-with-crlf topic.
* jc/strbuf-getline:
strbuf: give strbuf_getline() to the "most text friendly" variant
checkout-index: there are only two possible line terminations
update-index: there are only two possible line terminations
check-ignore: there are only two possible line terminations
check-attr: there are only two possible line terminations
mktree: there are only two possible line terminations
strbuf: introduce strbuf_getline_{lf,nul}()
strbuf: make strbuf_getline_crlf() global
strbuf: miniscule style fix
Diffstat (limited to 'builtin/checkout-index.c')
-rw-r--r-- | builtin/checkout-index.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index 8028c3768f..ed888a5b9e 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -11,7 +11,7 @@ #include "parse-options.h" #define CHECKOUT_ALL 4 -static int line_termination = '\n'; +static int nul_term_line; static int checkout_stage; /* default to checkout stage0 */ static int to_tempfile; static char topath[4][TEMPORARY_FILENAME_LENGTH + 1]; @@ -35,7 +35,8 @@ static void write_tempfile_record(const char *name, const char *prefix) fputs(topath[checkout_stage], stdout); putchar('\t'); - write_name_quoted_relative(name, prefix, stdout, line_termination); + write_name_quoted_relative(name, prefix, stdout, + nul_term_line ? '\0' : '\n'); for (i = 0; i < 4; i++) { topath[i][0] = 0; @@ -144,10 +145,7 @@ static int option_parse_u(const struct option *opt, static int option_parse_z(const struct option *opt, const char *arg, int unset) { - if (unset) - line_termination = '\n'; - else - line_termination = 0; + nul_term_line = !unset; return 0; } @@ -254,13 +252,15 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix) if (read_from_stdin) { struct strbuf buf = STRBUF_INIT, nbuf = STRBUF_INIT; + strbuf_getline_fn getline_fn; if (all) die("git checkout-index: don't mix '--all' and '--stdin'"); - while (strbuf_getline(&buf, stdin, line_termination) != EOF) { + getline_fn = nul_term_line ? strbuf_getline_nul : strbuf_getline_lf; + while (getline_fn(&buf, stdin) != EOF) { char *p; - if (line_termination && buf.buf[0] == '"') { + if (!nul_term_line && buf.buf[0] == '"') { strbuf_reset(&nbuf); if (unquote_c_style(&nbuf, buf.buf, NULL)) die("line is badly quoted"); |