Browse Source

commit: prepare repo_unuse_commit_buffer to handle any repo

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Stefan Beller 6 years ago committed by Junio C Hamano
parent
commit
70315373ae
  1. 6
      commit.c
  2. 7
      commit.h
  3. 8
      contrib/coccinelle/the_repository.pending.cocci

6
commit.c

@ -318,10 +318,12 @@ const void *repo_get_commit_buffer(struct repository *r, @@ -318,10 +318,12 @@ const void *repo_get_commit_buffer(struct repository *r,
return ret;
}

void unuse_commit_buffer(const struct commit *commit, const void *buffer)
void repo_unuse_commit_buffer(struct repository *r,
const struct commit *commit,
const void *buffer)
{
struct commit_buffer *v = buffer_slab_peek(
the_repository->parsed_objects->buffer_slab, commit);
r->parsed_objects->buffer_slab, commit);
if (!(v && v->buffer == buffer))
free((void *)buffer);
}

7
commit.h

@ -130,7 +130,12 @@ const void *repo_get_commit_buffer(struct repository *r, @@ -130,7 +130,12 @@ const void *repo_get_commit_buffer(struct repository *r,
* from an earlier call to get_commit_buffer. The buffer may or may not be
* freed by this call; callers should not access the memory afterwards.
*/
void unuse_commit_buffer(const struct commit *, const void *buffer);
void repo_unuse_commit_buffer(struct repository *r,
const struct commit *,
const void *buffer);
#ifndef NO_THE_REPOSITORY_COMPATIBILITY_MACROS
#define unuse_commit_buffer(c, b) repo_unuse_commit_buffer(the_repository, c, b)
#endif

/*
* Free any cached object buffer associated with the commit.

8
contrib/coccinelle/the_repository.pending.cocci

@ -115,3 +115,11 @@ expression F; @@ -115,3 +115,11 @@ expression F;
- get_commit_buffer(
+ repo_get_commit_buffer(the_repository,
E, F);

@@
expression E;
expression F;
@@
- unuse_commit_buffer(
+ repo_unuse_commit_buffer(the_repository,
E, F);

Loading…
Cancel
Save