From: Linus Torvalds Date: Thu, 26 May 2005 01:27:14 +0000 (-0700) Subject: commit: save the commit buffer off when parsing a commit X-Git-Tag: v0.99~456 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3ff1fbbb9446e03050047a67247151887ee59e70;p=git.git commit: save the commit buffer off when parsing a commit object. A fair number of the users potentially want to look at the commit objects more closely, and if you worry about memory leaking in certain applications, you can always do a free(commit->buffer); commit->buffer = NULL; by hand after parsing them. --- diff --git a/commit.c b/commit.c index b4e000e9c..abbf155da 100644 --- a/commit.c +++ b/commit.c @@ -103,6 +103,10 @@ int parse_commit(struct commit *item) sha1_to_hex(item->object.sha1)); } ret = parse_commit_buffer(item, buffer, size); + if (!ret) { + item->buffer = buffer; + return 0; + } free(buffer); return ret; } diff --git a/commit.h b/commit.h index 620e936bb..0bb8779ca 100644 --- a/commit.h +++ b/commit.h @@ -14,6 +14,7 @@ struct commit { unsigned long date; struct commit_list *parents; struct tree *tree; + const char *buffer; }; extern const char *commit_type;