summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2006-12-16 13:58:20 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2006-12-16 13:58:20 (UTC)
commitaaa24bdd30303128bded8487cd9f63b54c3b8dcd (patch) (side-by-side diff)
tree0fd8b32643c205d819f98a827eca3e78fad21bfa
parentfa82b03e05366e3c6ca1b74c8c83d6e00e0ef1e6 (diff)
downloadcgit-aaa24bdd30303128bded8487cd9f63b54c3b8dcd.zip
cgit-aaa24bdd30303128bded8487cd9f63b54c3b8dcd.tar.gz
cgit-aaa24bdd30303128bded8487cd9f63b54c3b8dcd.tar.bz2
Add cgit_free_commitinfo() and use where needed
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h2
-rw-r--r--shared.c10
-rw-r--r--ui-commit.c5
-rw-r--r--ui-log.c5
-rw-r--r--ui-summary.c1
5 files changed, 15 insertions, 8 deletions
diff --git a/cgit.h b/cgit.h
index f06a941..02cc26a 100644
--- a/cgit.h
+++ b/cgit.h
@@ -56,24 +56,26 @@ extern char *cgit_querystring;
extern char *cgit_query_repo;
extern char *cgit_query_page;
extern char *cgit_query_head;
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);
extern int cgit_read_config(const char *filename, configfn fn);
extern int cgit_parse_query(char *txt, configfn fn);
extern struct commitinfo *cgit_parse_commit(struct commit *commit);
diff --git a/shared.c b/shared.c
index 4574120..b576df8 100644
--- a/shared.c
+++ b/shared.c
@@ -79,12 +79,22 @@ void cgit_querystring_cb(const char *name, const char *value)
cgit_query_page = xstrdup(value);
} else if (!strcmp(name, "h")) {
cgit_query_head = xstrdup(value);
cgit_query_has_symref = 1;
} 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
@@ -52,17 +52,14 @@ void cgit_print_commit(const char *hex)
html("<tr><th>parent</th><td colspan='2' class='sha1'><a href='");
html_attr(cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(p->item->object.sha1))));
htmlf("'>%s</a></td></tr>\n",
sha1_to_hex(p->item->object.sha1));
}
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);
}
diff --git a/ui-log.c b/ui-log.c
index c52af79..b7da49f 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -19,28 +19,25 @@ void print_commit(struct commit *commit)
html("<tr><td>");
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", time);
html_txt(buf);
html("</td><td>");
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};
int i;
init_revisions(&rev, NULL);
rev.abbrev = DEFAULT_ABBREV;
diff --git a/ui-summary.c b/ui-summary.c
index 8ff3642..5ddeee3 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -26,24 +26,25 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
html_txt(buf);
html_link_close();
html("</td><td>");
cgit_print_date(commit->date);
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;
}
static void cgit_print_branches()
{