Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
alloc: factor out commit index
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@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed Jul 14, 2014
1 parent 8ff226a commit 94d5a22
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
9 changes: 7 additions & 2 deletions alloc.c
Expand Up @@ -82,12 +82,17 @@ void *alloc_object_node(void)

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, sizeof(struct commit));
c->object.type = OBJ_COMMIT;
c->index = commit_count++;
c->index = alloc_commit_index();
return c;
}

Expand Down
1 change: 1 addition & 0 deletions cache.h
Expand Up @@ -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)))
Expand Down

0 comments on commit 94d5a22

Please sign in to comment.