We keep a static counter to set the commit index on newly allocated objects. However, since we also need to set the index on any_objects which are converted to commits, let's make the counter available as a public function. While we're moving it, let's make sure the counter is allocated as an unsigned integer to match the index field in "struct commit". Signed-off-by: Jeff King <peff@xxxxxxxx> --- alloc.c | 9 +++++++-- cache.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/alloc.c b/alloc.c index fd5fcb7..21f3d81 100644 --- a/alloc.c +++ b/alloc.c @@ -64,11 +64,16 @@ DEFINE_ALLOCATOR(object, OBJ_NONE, union any_object) static struct alloc_state commit_state; +unsigned int alloc_commit_index(void) +{ + static unsigned int count; + return count++; +} + void *alloc_commit_node(void) { - static int commit_count; struct commit *c = alloc_node(&commit_state, OBJ_COMMIT, sizeof(struct commit)); - c->index = commit_count++; + c->index = alloc_commit_index(); return c; } diff --git a/cache.h b/cache.h index df65231..42a5e86 100644 --- a/cache.h +++ b/cache.h @@ -1376,6 +1376,7 @@ extern void *alloc_commit_node(void); extern void *alloc_tag_node(void); extern void *alloc_object_node(void); extern void alloc_report(void); +extern unsigned int alloc_commit_index(void); /* trace.c */ __attribute__((format (printf, 1, 2))) -- 2.0.0.566.gfe3e6b2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html