summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-03-17 20:50:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-03-17 20:50:24 (GMT)
commit0a4ae91d1cf72b1185a46e5f072ac6b25b92350b (patch)
tree83469f2d205b980636228796adeed4b05aed8691 /builtin
parent0bb80ab090fadc99d3d19d23209ddfb7e4f54b3d (diff)
parentdfa3ad32386f95ae954d65163152f8130e3586a3 (diff)
downloadgit-0a4ae91d1cf72b1185a46e5f072ac6b25b92350b.zip
git-0a4ae91d1cf72b1185a46e5f072ac6b25b92350b.tar.gz
git-0a4ae91d1cf72b1185a46e5f072ac6b25b92350b.tar.bz2
Merge branch 'rs/blame-code-cleanup'
Code clean-up. * rs/blame-code-cleanup: blame: move blame_entry duplication to add_blame_entry()
Diffstat (limited to 'builtin')
-rw-r--r--builtin/blame.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/builtin/blame.c b/builtin/blame.c
index cffc626..f7aa95f 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -658,8 +658,11 @@ static struct origin *find_rename(struct scoreboard *sb,
/*
* Append a new blame entry to a given output queue.
*/
-static void add_blame_entry(struct blame_entry ***queue, struct blame_entry *e)
+static void add_blame_entry(struct blame_entry ***queue,
+ const struct blame_entry *src)
{
+ struct blame_entry *e = xmalloc(sizeof(*e));
+ memcpy(e, src, sizeof(*e));
origin_incref(e->suspect);
e->next = **queue;
@@ -760,21 +763,15 @@ static void split_blame(struct blame_entry ***blamed,
struct blame_entry *split,
struct blame_entry *e)
{
- struct blame_entry *new_entry;
-
if (split[0].suspect && split[2].suspect) {
/* The first part (reuse storage for the existing entry e) */
dup_entry(unblamed, e, &split[0]);
/* The last part -- me */
- new_entry = xmalloc(sizeof(*new_entry));
- memcpy(new_entry, &(split[2]), sizeof(struct blame_entry));
- add_blame_entry(unblamed, new_entry);
+ add_blame_entry(unblamed, &split[2]);
/* ... and the middle part -- parent */
- new_entry = xmalloc(sizeof(*new_entry));
- memcpy(new_entry, &(split[1]), sizeof(struct blame_entry));
- add_blame_entry(blamed, new_entry);
+ add_blame_entry(blamed, &split[1]);
}
else if (!split[0].suspect && !split[2].suspect)
/*
@@ -785,18 +782,12 @@ static void split_blame(struct blame_entry ***blamed,
else if (split[0].suspect) {
/* me and then parent */
dup_entry(unblamed, e, &split[0]);
-
- new_entry = xmalloc(sizeof(*new_entry));
- memcpy(new_entry, &(split[1]), sizeof(struct blame_entry));
- add_blame_entry(blamed, new_entry);
+ add_blame_entry(blamed, &split[1]);
}
else {
/* parent and then me */
dup_entry(blamed, e, &split[1]);
-
- new_entry = xmalloc(sizeof(*new_entry));
- memcpy(new_entry, &(split[2]), sizeof(struct blame_entry));
- add_blame_entry(unblamed, new_entry);
+ add_blame_entry(unblamed, &split[2]);
}
}