Skip to content

Commit

Permalink
blame: cmp_suspect is not "cmp" anymore.
Browse files Browse the repository at this point in the history
The earlier round makes the function return "is it different"
and it does not return a value suitable for sorting anymore.  Reverse
the logic to return "are they the same suspect" instead, and rename
it to "same_suspect()".

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Mar 21, 2007
1 parent 3254d21 commit 171dccd
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions builtin-blame.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,15 +180,15 @@ struct scoreboard {
int *lineno;
};

static int cmp_suspect(struct origin *a, struct origin *b)
static inline int same_suspect(struct origin *a, struct origin *b)
{
if (a->commit != b->commit)
if (a == b)
return 1;
return strcmp(a->path, b->path);
if (a->commit != b->commit)
return 0;
return !strcmp(a->path, b->path);
}

#define cmp_suspect(a, b) ( ((a)==(b)) ? 0 : cmp_suspect(a,b) )

static void sanity_check_refcnt(struct scoreboard *);

/*
Expand All @@ -201,7 +201,7 @@ static void coalesce(struct scoreboard *sb)
struct blame_entry *ent, *next;

for (ent = sb->ent; ent && (next = ent->next); ent = next) {
if (!cmp_suspect(ent->suspect, next->suspect) &&
if (same_suspect(ent->suspect, next->suspect) &&
ent->guilty == next->guilty &&
ent->s_lno + ent->num_lines == next->s_lno) {
ent->num_lines += next->num_lines;
Expand Down Expand Up @@ -774,7 +774,7 @@ static int find_last_in_target(struct scoreboard *sb, struct origin *target)
int last_in_target = -1;

for (e = sb->ent; e; e = e->next) {
if (e->guilty || cmp_suspect(e->suspect, target))
if (e->guilty || !same_suspect(e->suspect, target))
continue;
if (last_in_target < e->s_lno + e->num_lines)
last_in_target = e->s_lno + e->num_lines;
Expand All @@ -794,7 +794,7 @@ static void blame_chunk(struct scoreboard *sb,
struct blame_entry *e;

for (e = sb->ent; e; e = e->next) {
if (e->guilty || cmp_suspect(e->suspect, target))
if (e->guilty || !same_suspect(e->suspect, target))
continue;
if (same <= e->s_lno)
continue;
Expand Down Expand Up @@ -969,7 +969,7 @@ static int find_move_in_parent(struct scoreboard *sb,
while (made_progress) {
made_progress = 0;
for (e = sb->ent; e; e = e->next) {
if (e->guilty || cmp_suspect(e->suspect, target))
if (e->guilty || !same_suspect(e->suspect, target))
continue;
find_copy_in_blob(sb, e, parent, split, &file_p);
if (split[1].suspect &&
Expand Down Expand Up @@ -1001,12 +1001,12 @@ static struct blame_list *setup_blame_list(struct scoreboard *sb,
struct blame_list *blame_list = NULL;

for (e = sb->ent, num_ents = 0; e; e = e->next)
if (!e->guilty && !cmp_suspect(e->suspect, target))
if (!e->guilty && same_suspect(e->suspect, target))
num_ents++;
if (num_ents) {
blame_list = xcalloc(num_ents, sizeof(struct blame_list));
for (e = sb->ent, i = 0; e; e = e->next)
if (!e->guilty && !cmp_suspect(e->suspect, target))
if (!e->guilty && same_suspect(e->suspect, target))
blame_list[i++].ent = e;
}
*num_ents_p = num_ents;
Expand Down Expand Up @@ -1136,7 +1136,7 @@ static void pass_whole_blame(struct scoreboard *sb,
origin->file.ptr = NULL;
}
for (e = sb->ent; e; e = e->next) {
if (cmp_suspect(e->suspect, origin))
if (!same_suspect(e->suspect, origin))
continue;
origin_incref(porigin);
origin_decref(e->suspect);
Expand Down Expand Up @@ -1442,7 +1442,7 @@ static void assign_blame(struct scoreboard *sb, struct rev_info *revs, int opt)

/* Take responsibility for the remaining entries */
for (ent = sb->ent; ent; ent = ent->next)
if (!cmp_suspect(ent->suspect, suspect))
if (same_suspect(ent->suspect, suspect))
found_guilty_entry(ent);
origin_decref(suspect);

Expand Down

0 comments on commit 171dccd

Please sign in to comment.