summaryrefslogtreecommitdiffabout
path: root/ui-commit.c
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) (unidiff)
tree0fd8b32643c205d819f98a827eca3e78fad21bfa /ui-commit.c
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 (limited to 'ui-commit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-commit.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/ui-commit.c b/ui-commit.c
index b441e14..f654208 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -1,68 +1,65 @@
1/* ui-commit.c: generate commit view 1/* ui-commit.c: generate commit view
2 * 2 *
3 * Copyright (C) 2006 Lars Hjemli 3 * Copyright (C) 2006 Lars Hjemli
4 * 4 *
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10 10
11void cgit_print_commit(const char *hex) 11void cgit_print_commit(const char *hex)
12{ 12{
13 struct commit *commit; 13 struct commit *commit;
14 struct commitinfo *info; 14 struct commitinfo *info;
15 struct commit_list *p; 15 struct commit_list *p;
16 16
17 unsigned char sha1[20]; 17 unsigned char sha1[20];
18 18
19 if (get_sha1(hex, sha1)) { 19 if (get_sha1(hex, sha1)) {
20 cgit_print_error(fmt("Bad object id: %s", hex)); 20 cgit_print_error(fmt("Bad object id: %s", hex));
21 return; 21 return;
22 } 22 }
23 23
24 commit = lookup_commit_reference(sha1); 24 commit = lookup_commit_reference(sha1);
25 if (!commit) { 25 if (!commit) {
26 cgit_print_error(fmt("Bad commit reference: %s", hex)); 26 cgit_print_error(fmt("Bad commit reference: %s", hex));
27 return; 27 return;
28 } 28 }
29 29
30 info = cgit_parse_commit(commit); 30 info = cgit_parse_commit(commit);
31 31
32 html("<table class='commit-info'>\n"); 32 html("<table class='commit-info'>\n");
33 html("<tr><th>author</th><td>"); 33 html("<tr><th>author</th><td>");
34 html_txt(info->author); 34 html_txt(info->author);
35 html(" "); 35 html(" ");
36 html_txt(info->author_email); 36 html_txt(info->author_email);
37 html("</td><td class='right'>"); 37 html("</td><td class='right'>");
38 cgit_print_date(info->author_date); 38 cgit_print_date(info->author_date);
39 html("</td></tr>\n"); 39 html("</td></tr>\n");
40 html("<tr><th>committer</th><td>"); 40 html("<tr><th>committer</th><td>");
41 html_txt(info->committer); 41 html_txt(info->committer);
42 html(" "); 42 html(" ");
43 html_txt(info->committer_email); 43 html_txt(info->committer_email);
44 html("</td><td class='right'>"); 44 html("</td><td class='right'>");
45 cgit_print_date(info->committer_date); 45 cgit_print_date(info->committer_date);
46 html("</td></tr>\n"); 46 html("</td></tr>\n");
47 html("<tr><th>tree</th><td colspan='2' class='sha1'><a href='"); 47 html("<tr><th>tree</th><td colspan='2' class='sha1'><a href='");
48 html_attr(cgit_pageurl(cgit_query_repo, "tree", fmt("id=%s", sha1_to_hex(commit->tree->object.sha1)))); 48 html_attr(cgit_pageurl(cgit_query_repo, "tree", fmt("id=%s", sha1_to_hex(commit->tree->object.sha1))));
49 htmlf("'>%s</a></td></tr>\n", sha1_to_hex(commit->tree->object.sha1)); 49 htmlf("'>%s</a></td></tr>\n", sha1_to_hex(commit->tree->object.sha1));
50 50
51 for (p = commit->parents; p ; p = p->next) { 51 for (p = commit->parents; p ; p = p->next) {
52 html("<tr><th>parent</th><td colspan='2' class='sha1'><a href='"); 52 html("<tr><th>parent</th><td colspan='2' class='sha1'><a href='");
53 html_attr(cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(p->item->object.sha1)))); 53 html_attr(cgit_pageurl(cgit_query_repo, "commit", fmt("id=%s", sha1_to_hex(p->item->object.sha1))));
54 htmlf("'>%s</a></td></tr>\n", 54 htmlf("'>%s</a></td></tr>\n",
55 sha1_to_hex(p->item->object.sha1)); 55 sha1_to_hex(p->item->object.sha1));
56 } 56 }
57 html("</table>\n"); 57 html("</table>\n");
58 html("<div class='commit-subject'>"); 58 html("<div class='commit-subject'>");
59 html_txt(info->subject); 59 html_txt(info->subject);
60 html("</div>"); 60 html("</div>");
61 html("<div class='commit-msg'>"); 61 html("<div class='commit-msg'>");
62 html_txt(info->msg); 62 html_txt(info->msg);
63 html("</div>"); 63 html("</div>");
64 free(info->author); 64 cgit_free_commitinfo(info);
65 free(info->committer);
66 free(info->subject);
67 free(info);
68} 65}