From: Johan Herland Date: Fri, 09 Oct 2009 10:22:06 GMT Subject: [RFC/PATCHv7 10/22] Teach notes code to free its internal data structures on request Message-ID: <1255083738-23263-12-git-send-email-johan@herland.net> In-Reply-To: <1255083738-23263-1-git-send-email-johan@herland.net> There's no need to be rude to memory-concious callers... This patch has been improved by the following contributions: - Junio C Hamano: avoid old-style declaration Signed-off-by: Junio C Hamano Signed-off-by: Johan Herland --- notes.c | 7 +++++++ notes.h | 3 +++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/notes.c b/notes.c index b7d79e1..a5d888d 100644 --- a/notes.c +++ b/notes.c @@ -105,6 +105,13 @@ static unsigned char *lookup_notes(const unsigned char *commit_sha1) return hash_map.entries[index].notes_sha1; } +void free_notes(void) +{ + free(hash_map.entries); + memset(&hash_map, 0, sizeof(struct hash_map)); + initialized = 0; +} + void get_commit_notes(const struct commit *commit, struct strbuf *sb, const char *output_encoding, int flags) { diff --git a/notes.h b/notes.h index 7f3eed4..a1421e3 100644 --- a/notes.h +++ b/notes.h @@ -1,6 +1,9 @@ #ifndef NOTES_H #define NOTES_H +/* Free (and de-initialize) the internal notes tree structure */ +void free_notes(void); + #define NOTES_SHOW_HEADER 1 #define NOTES_INDENT 2 -- 1.6.4.304.g1365c.dirty