1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-27 04:06:21 +02:00

Merge branch 'jc/peace-with-crlf'

Many commands that read files that are expected to contain text
that is generated (or can be edited) by the end user to control
their behaviour (e.g. "git grep -f <filename>") have been updated
to be more tolerant to lines that are terminated with CRLF (they
used to treat such a line to contain payload that ends with CR,
which is usually not what the users expect).

* jc/peace-with-crlf:
  test-sha1-array: read command stream with strbuf_getline()
  grep: read -f file with strbuf_getline()
  send-pack: read list of refs with strbuf_getline()
  column: read lines with strbuf_getline()
  cat-file: read batch stream with strbuf_getline()
  transport-helper: read helper response with strbuf_getline()
  clone/sha1_file: read info/alternates with strbuf_getline()
  remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
  ident.c: read /etc/mailname with strbuf_getline()
  rev-parse: read parseopt spec with strbuf_getline()
  revision: read --stdin with strbuf_getline()
  hash-object: read --stdin-paths with strbuf_getline()
This commit is contained in:
Junio C Hamano 2016-02-03 14:15:58 -08:00
commit 017565525f
13 changed files with 15 additions and 20 deletions

View File

@ -401,7 +401,7 @@ static int batch_objects(struct batch_options *opt)
save_warning = warn_on_object_refname_ambiguity;
warn_on_object_refname_ambiguity = 0;
while (strbuf_getline_lf(&buf, stdin) != EOF) {
while (strbuf_getline(&buf, stdin) != EOF) {
if (data.split_on_whitespace) {
/*
* Split at first whitespace, tying off the beginning

View File

@ -339,7 +339,7 @@ static void copy_alternates(struct strbuf *src, struct strbuf *dst,
FILE *in = fopen(src->buf, "r");
struct strbuf line = STRBUF_INIT;
while (strbuf_getline_lf(&line, in) != EOF) {
while (strbuf_getline(&line, in) != EOF) {
char *abs_path;
if (!line.len || line.buf[0] == '#')
continue;

View File

@ -51,7 +51,7 @@ int cmd_column(int argc, const char **argv, const char *prefix)
die(_("--command must be the first argument"));
}
finalize_colopts(&colopts, -1);
while (!strbuf_getline_lf(&sb, stdin))
while (!strbuf_getline(&sb, stdin))
string_list_append(&list, sb.buf);
print_columns(&list, colopts, &copts);

View File

@ -573,7 +573,7 @@ static int file_callback(const struct option *opt, const char *arg, int unset)
patterns = from_stdin ? stdin : fopen(arg, "r");
if (!patterns)
die_errno(_("cannot open '%s'"), arg);
while (strbuf_getline_lf(&sb, patterns) == 0) {
while (strbuf_getline(&sb, patterns) == 0) {
/* ignore empty line like grep does */
if (sb.len == 0)
continue;

View File

@ -60,7 +60,7 @@ static void hash_stdin_paths(const char *type, int no_filters, unsigned flags,
{
struct strbuf buf = STRBUF_INIT, nbuf = STRBUF_INIT;
while (strbuf_getline_lf(&buf, stdin) != EOF) {
while (strbuf_getline(&buf, stdin) != EOF) {
if (buf.buf[0] == '"') {
strbuf_reset(&nbuf);
if (unquote_c_style(&nbuf, buf.buf, NULL))

View File

@ -383,7 +383,7 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix)
/* get the usage up to the first line with a -- on it */
for (;;) {
if (strbuf_getline_lf(&sb, stdin) == EOF)
if (strbuf_getline(&sb, stdin) == EOF)
die("premature end of input");
ALLOC_GROW(usage, unb + 1, usz);
if (!strcmp("--", sb.buf)) {
@ -396,7 +396,7 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix)
}
/* parse: (<short>|<short>,<long>|<long>)[*=?!]*<arghint>? SP+ <help> */
while (strbuf_getline_lf(&sb, stdin) != EOF) {
while (strbuf_getline(&sb, stdin) != EOF) {
const char *s;
const char *help;
struct option *o;

View File

@ -212,7 +212,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
argv_array_push(&all_refspecs, buf);
} else {
struct strbuf line = STRBUF_INIT;
while (strbuf_getline_lf(&line, stdin) != EOF)
while (strbuf_getline(&line, stdin) != EOF)
argv_array_push(&all_refspecs, line.buf);
strbuf_release(&line);
}

View File

@ -76,7 +76,7 @@ static int add_mailname_host(struct strbuf *buf)
strerror(errno));
return -1;
}
if (strbuf_getline_lf(&mailnamebuf, mailname) == EOF) {
if (strbuf_getline(&mailnamebuf, mailname) == EOF) {
if (ferror(mailname))
warning("cannot read /etc/mailname: %s",
strerror(errno));

View File

@ -256,7 +256,7 @@ static void read_remotes_file(struct remote *remote)
if (!f)
return;
remote->origin = REMOTE_REMOTES;
while (strbuf_getline_lf(&buf, f) != EOF) {
while (strbuf_getline(&buf, f) != EOF) {
const char *v;
strbuf_rtrim(&buf);

View File

@ -1635,10 +1635,7 @@ static void append_prune_data(struct cmdline_pathspec *prune, const char **av)
static void read_pathspec_from_stdin(struct rev_info *revs, struct strbuf *sb,
struct cmdline_pathspec *prune)
{
while (strbuf_getwholeline(sb, stdin, '\n') != EOF) {
int len = sb->len;
if (len && sb->buf[len - 1] == '\n')
sb->buf[--len] = '\0';
while (strbuf_getline(sb, stdin) != EOF) {
ALLOC_GROW(prune->path, prune->nr + 1, prune->alloc);
prune->path[prune->nr++] = xstrdup(sb->buf);
}
@ -1655,10 +1652,8 @@ static void read_revisions_from_stdin(struct rev_info *revs,
warn_on_object_refname_ambiguity = 0;
strbuf_init(&sb, 1000);
while (strbuf_getwholeline(&sb, stdin, '\n') != EOF) {
while (strbuf_getline(&sb, stdin) != EOF) {
int len = sb.len;
if (len && sb.buf[len - 1] == '\n')
sb.buf[--len] = '\0';
if (!len)
break;
if (sb.buf[0] == '-') {

View File

@ -396,7 +396,7 @@ void add_to_alternates_file(const char *reference)
struct strbuf line = STRBUF_INIT;
int found = 0;
while (strbuf_getline_lf(&line, in) != EOF) {
while (strbuf_getline(&line, in) != EOF) {
if (!strcmp(reference, line.buf)) {
found = 1;
break;

View File

@ -11,7 +11,7 @@ int main(int argc, char **argv)
struct sha1_array array = SHA1_ARRAY_INIT;
struct strbuf line = STRBUF_INIT;
while (strbuf_getline_lf(&line, stdin) != EOF) {
while (strbuf_getline(&line, stdin) != EOF) {
const char *arg;
unsigned char sha1[20];

View File

@ -54,7 +54,7 @@ static int recvline_fh(FILE *helper, struct strbuf *buffer, const char *name)
strbuf_reset(buffer);
if (debug)
fprintf(stderr, "Debug: Remote helper: Waiting...\n");
if (strbuf_getline_lf(buffer, helper) == EOF) {
if (strbuf_getline(buffer, helper) == EOF) {
if (debug)
fprintf(stderr, "Debug: Remote helper quit.\n");
return 1;