mirror of
https://github.com/git-for-windows/git.git
synced 2026-02-03 18:59:59 -06:00
commit: add commit_stack_grow()
Add a function for increasing the capacity of a commit_stack. It is useful for reducing reallocations when the target size is known in advance. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
506a7b6690
commit
958a816794
7
commit.c
7
commit.c
@ -1988,9 +1988,14 @@ void commit_stack_init(struct commit_stack *stack)
|
||||
stack->nr = stack->alloc = 0;
|
||||
}
|
||||
|
||||
void commit_stack_grow(struct commit_stack *stack, size_t extra)
|
||||
{
|
||||
ALLOC_GROW(stack->items, st_add(stack->nr, extra), stack->alloc);
|
||||
}
|
||||
|
||||
void commit_stack_push(struct commit_stack *stack, struct commit *commit)
|
||||
{
|
||||
ALLOC_GROW(stack->items, stack->nr + 1, stack->alloc);
|
||||
commit_stack_grow(stack, 1);
|
||||
stack->items[stack->nr++] = commit;
|
||||
}
|
||||
|
||||
|
||||
1
commit.h
1
commit.h
@ -388,6 +388,7 @@ struct commit_stack {
|
||||
#define COMMIT_STACK_INIT { 0 }
|
||||
|
||||
void commit_stack_init(struct commit_stack *);
|
||||
void commit_stack_grow(struct commit_stack *, size_t);
|
||||
void commit_stack_push(struct commit_stack *, struct commit *);
|
||||
struct commit *commit_stack_pop(struct commit_stack *);
|
||||
void commit_stack_clear(struct commit_stack *);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user