Re: [PATCH 3/5] commit: replace the raw buffer with strbuf in read_graft_line
From: Stefan Beller <hidden>
Date: 2017-08-15 17:03:08
On Tue, Aug 15, 2017 at 4:49 AM, Patryk Obara [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This simplifies function declaration and allows for use of strbuf_rtrim instead of modifying buffer directly. Signed-off-by: Patryk Obara <redacted> --- builtin/blame.c | 2 +- commit.c | 11 ++++++----- commit.h | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-)diff --git a/builtin/blame.c b/builtin/blame.c index bda1a78..d4472e9 100644 --- a/builtin/blame.c +++ b/builtin/blame.c@@ -488,7 +488,7 @@ static int read_ancestry(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) register_commit_graft(graft, 0); }diff --git a/commit.c b/commit.c index 8b28415..499fb14 100644 --- a/commit.c +++ b/commit.c@@ -134,15 +134,16 @@ 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; + int i, len; + char *buf = line->buf; struct commit_graft *graft = NULL; const int entry_size = GIT_SHA1_HEXSZ + 1;
outside the scope of this patch: Is GIT_SHA1_HEXSZ or GIT_MAX_HEXSZ the right call here?
quoted hunk ↗ jump to hunk
- while (len && isspace(buf[len-1])) - buf[--len] = '\0'; + strbuf_rtrim(line); + len = line->len; if (buf[0] == '#' || buf[0] == '\0') return NULL; if ((len + 1) % entry_size)@@ -174,7 +175,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))diff --git a/commit.h b/commit.h index 6d857f0..baecc0a 100644 --- a/commit.h +++ b/commit.h@@ -247,7 +247,7 @@ struct commit_graft { }; typedef int (*each_commit_graft_fn)(const struct commit_graft *, void *); -struct commit_graft *read_graft_line(char *buf, int len); +struct commit_graft *read_graft_line(struct strbuf *line); int register_commit_graft(struct commit_graft *, int); struct commit_graft *lookup_commit_graft(const struct object_id *oid); --2.9.5