Permalink
Browse files

decorate.c: compact table when growing

When growing the table, take the opportunity to "compact" it by removing
entries with NULL decoration.

Users may have "removed" decorations by passing NULL to
insert_decoration. An object's table entry can't actually be removed
during normal operation, as it would break the linear hash collision
search. But we can remove NULL decoration entries when rebuilding the
table.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information...
1 parent a765499 commit 83f0412f3fff3b4108e7f05c30f3e861d148f5f2 Kevin Bracey committed with gitster May 16, 2013
Showing with 1 addition and 1 deletion.
  1. +1 −1 decorate.c
View
2 decorate.c
@@ -49,7 +49,7 @@ static void grow_decoration(struct decoration *n)
const struct object *base = old_hash[i].base;
void *decoration = old_hash[i].decoration;
- if (!base)
+ if (!decoration)
continue;
insert_decoration(n, base, decoration);
}

0 comments on commit 83f0412

Please sign in to comment.