diff options
author | Patryk Obara <patryk.obara@gmail.com> | 2017-08-18 20:33:12 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-18 12:18:10 -0700 |
commit | 9a9340329a7151697c943794369950115963879f (patch) | |
tree | 4784f79fb2b36f7038c3da3e6031a85db24cc156 /commit.c | |
parent | 50c5cd5800be172300da79b271037148f31d1987 (diff) | |
download | git-9a9340329a7151697c943794369950115963879f.tar.gz |
commit: replace the raw buffer with strbuf in read_graft_line
This simplifies function declaration and allows for use of strbuf_rtrim
instead of modifying buffer directly.
Signed-off-by: Patryk Obara <patryk.obara@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.c')
-rw-r--r-- | commit.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -134,34 +134,33 @@ int register_commit_graft(struct commit_graft *graft, int ignore_dups) return 0; } -struct commit_graft *read_graft_line(char *buf, int len) +struct commit_graft *read_graft_line(struct strbuf *line) { /* The format is just "Commit Parent1 Parent2 ...\n" */ int i; struct commit_graft *graft = NULL; const int entry_size = GIT_SHA1_HEXSZ + 1; - while (len && isspace(buf[len-1])) - buf[--len] = '\0'; - if (buf[0] == '#' || buf[0] == '\0') + strbuf_rtrim(line); + if (!line->len || line->buf[0] == '#') return NULL; - if ((len + 1) % entry_size) + if ((line->len + 1) % entry_size) goto bad_graft_data; - i = (len + 1) / entry_size - 1; + i = (line->len + 1) / entry_size - 1; graft = xmalloc(st_add(sizeof(*graft), st_mult(GIT_SHA1_RAWSZ, i))); graft->nr_parent = i; - if (get_oid_hex(buf, &graft->oid)) + if (get_oid_hex(line->buf, &graft->oid)) goto bad_graft_data; - for (i = GIT_SHA1_HEXSZ; i < len; i += entry_size) { - if (buf[i] != ' ') + for (i = GIT_SHA1_HEXSZ; i < line->len; i += entry_size) { + if (line->buf[i] != ' ') goto bad_graft_data; - if (get_sha1_hex(buf + i + 1, graft->parent[i/entry_size].hash)) + if (get_sha1_hex(line->buf + i + 1, graft->parent[i/entry_size].hash)) goto bad_graft_data; } return graft; bad_graft_data: - error("bad graft data: %s", buf); + error("bad graft data: %s", line->buf); free(graft); return NULL; } @@ -174,7 +173,7 @@ static int read_graft_file(const char *graft_file) return -1; while (!strbuf_getwholeline(&buf, fp, '\n')) { /* The format is just "Commit Parent1 Parent2 ...\n" */ - struct commit_graft *graft = read_graft_line(buf.buf, buf.len); + struct commit_graft *graft = read_graft_line(&buf); if (!graft) continue; if (register_commit_graft(graft, 1)) |