-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | shared.c | 10 | ||||
-rw-r--r-- | ui-commit.c | 5 | ||||
-rw-r--r-- | ui-log.c | 5 | ||||
-rw-r--r-- | ui-summary.c | 1 |
5 files changed, 15 insertions, 8 deletions
@@ -60,16 +60,18 @@ extern char *cgit_query_sha1; extern int cgit_query_ofs; extern int htmlfd; extern void cgit_global_config_cb(const char *name, const char *value); extern void cgit_repo_config_cb(const char *name, const char *value); extern void cgit_querystring_cb(const char *name, const char *value); +extern void *cgit_free_commitinfo(struct commitinfo *info); + extern char *fmt(const char *format,...); extern void html(const char *txt); extern void htmlf(const char *format,...); extern void html_txt(char *txt); extern void html_attr(char *txt); extern void html_link_open(char *url, char *title, char *class); extern void html_link_close(void); @@ -83,8 +83,18 @@ void cgit_querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "id")) { cgit_query_sha1 = xstrdup(value); cgit_query_has_sha1 = 1; } else if (!strcmp(name, "ofs")) { cgit_query_ofs = atoi(value); } } +void *cgit_free_commitinfo(struct commitinfo *info) +{ + free(info->author); + free(info->author_email); + free(info->committer); + free(info->committer_email); + free(info->subject); + free(info); + return NULL; +} diff --git a/ui-commit.c b/ui-commit.c index b441e14..f654208 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -56,13 +56,10 @@ void cgit_print_commit(const char *hex) } html("</table>\n"); html("<div class='commit-subject'>"); html_txt(info->subject); html("</div>"); html("<div class='commit-msg'>"); html_txt(info->msg); html("</div>"); - free(info->author); - free(info->committer); - free(info->subject); - free(info); + cgit_free_commitinfo(info); } @@ -23,20 +23,17 @@ void print_commit(struct commit *commit) char *qry = fmt("id=%s", sha1_to_hex(commit->object.sha1)); char *url = cgit_pageurl(cgit_query_repo, "commit", qry); html_link_open(url, NULL, NULL); html_txt(info->subject); html_link_close(); html("</td><td>"); html_txt(info->author); html("</td></tr>\n"); - free(info->author); - free(info->committer); - free(info->subject); - free(info); + cgit_free_commitinfo(info); } void cgit_print_log(const char *tip, int ofs, int cnt) { struct rev_info rev; struct commit *commit; const char *argv[2] = {NULL, tip}; diff --git a/ui-summary.c b/ui-summary.c index 8ff3642..5ddeee3 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -30,16 +30,17 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, html("</td><td>"); url = cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(sha1))); html_link_open(url, NULL, NULL); html_txt(info->subject); html_link_close(); html("</td><td>"); html_txt(info->author); html("</td></tr>\n"); + cgit_free_commitinfo(info); } else { html("<tr><td>"); html_txt(buf); html("</td><td>"); htmlf("*** bad ref %s", sha1_to_hex(sha1)); html("</td></tr>\n"); } return 0; |