summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-commit.c8
-rw-r--r--ui-log.c4
-rw-r--r--ui-shared.c4
-rw-r--r--ui-summary.c2
-rw-r--r--ui-tree.c6
-rw-r--r--ui-view.c2
6 files changed, 13 insertions, 13 deletions
diff --git a/ui-commit.c b/ui-commit.c
index 6b135aa..1d12bbb 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -62,33 +62,33 @@ void print_fileinfo(struct fileinfo *info)
62 html("<tr>"); 62 html("<tr>");
63 htmlf("<td class='mode'>"); 63 htmlf("<td class='mode'>");
64 if (is_null_sha1(info->new_sha1)) { 64 if (is_null_sha1(info->new_sha1)) {
65 html_filemode(info->old_mode); 65 html_filemode(info->old_mode);
66 } else { 66 } else {
67 html_filemode(info->new_mode); 67 html_filemode(info->new_mode);
68 } 68 }
69 69
70 if (info->old_mode != info->new_mode && 70 if (info->old_mode != info->new_mode &&
71 !is_null_sha1(info->old_sha1) && 71 !is_null_sha1(info->old_sha1) &&
72 !is_null_sha1(info->new_sha1)) { 72 !is_null_sha1(info->new_sha1)) {
73 html("<span class='modechange'>["); 73 html("<span class='modechange'>[");
74 html_filemode(info->old_mode); 74 html_filemode(info->old_mode);
75 html("]</span>"); 75 html("]</span>");
76 } 76 }
77 htmlf("</td><td class='%s'>", class); 77 htmlf("</td><td class='%s'>", class);
78 query = fmt("id=%s&id2=%s&path=%s", sha1_to_hex(info->old_sha1), 78 query = fmt("id=%s&amp;id2=%s&amp;path=%s", sha1_to_hex(info->old_sha1),
79 sha1_to_hex(info->new_sha1), info->new_path); 79 sha1_to_hex(info->new_sha1), info->new_path);
80 html_link_open(cgit_pageurl(cgit_query_repo, "diff", query), 80 html_link_open(cgit_pageurl(cgit_query_repo, "diff", query),
81 NULL, NULL); 81 NULL, NULL);
82 if (info->status == DIFF_STATUS_COPIED || 82 if (info->status == DIFF_STATUS_COPIED ||
83 info->status == DIFF_STATUS_RENAMED) { 83 info->status == DIFF_STATUS_RENAMED) {
84 html_txt(info->new_path); 84 html_txt(info->new_path);
85 htmlf("</a> (%s from ", info->status == DIFF_STATUS_COPIED ? 85 htmlf("</a> (%s from ", info->status == DIFF_STATUS_COPIED ?
86 "copied" : "renamed"); 86 "copied" : "renamed");
87 query2 = fmt("id=%s", sha1_to_hex(info->old_sha1)); 87 query2 = fmt("id=%s", sha1_to_hex(info->old_sha1));
88 html_link_open(cgit_pageurl(cgit_query_repo, "view", query2), 88 html_link_open(cgit_pageurl(cgit_query_repo, "view", query2),
89 NULL, NULL); 89 NULL, NULL);
90 html_txt(info->old_path); 90 html_txt(info->old_path);
91 html("</a>)"); 91 html("</a>)");
92 } else { 92 } else {
93 html_txt(info->new_path); 93 html_txt(info->new_path);
94 html("</a>"); 94 html("</a>");
@@ -169,61 +169,61 @@ void cgit_print_commit(const char *hex)
169 html("<table class='commit-info'>\n"); 169 html("<table class='commit-info'>\n");
170 html("<tr><th>author</th><td>"); 170 html("<tr><th>author</th><td>");
171 html_txt(info->author); 171 html_txt(info->author);
172 html(" "); 172 html(" ");
173 html_txt(info->author_email); 173 html_txt(info->author_email);
174 html("</td><td class='right'>"); 174 html("</td><td class='right'>");
175 cgit_print_date(info->author_date, FMT_LONGDATE); 175 cgit_print_date(info->author_date, FMT_LONGDATE);
176 html("</td></tr>\n"); 176 html("</td></tr>\n");
177 html("<tr><th>committer</th><td>"); 177 html("<tr><th>committer</th><td>");
178 html_txt(info->committer); 178 html_txt(info->committer);
179 html(" "); 179 html(" ");
180 html_txt(info->committer_email); 180 html_txt(info->committer_email);
181 html("</td><td class='right'>"); 181 html("</td><td class='right'>");
182 cgit_print_date(info->committer_date, FMT_LONGDATE); 182 cgit_print_date(info->committer_date, FMT_LONGDATE);
183 html("</td></tr>\n"); 183 html("</td></tr>\n");
184 html("<tr><th>tree</th><td colspan='2' class='sha1'><a href='"); 184 html("<tr><th>tree</th><td colspan='2' class='sha1'><a href='");
185 query = fmt("h=%s&id=%s", sha1_to_hex(commit->object.sha1), 185 query = fmt("h=%s&amp;id=%s", sha1_to_hex(commit->object.sha1),
186 sha1_to_hex(commit->tree->object.sha1)); 186 sha1_to_hex(commit->tree->object.sha1));
187 html_attr(cgit_pageurl(cgit_query_repo, "tree", query)); 187 html_attr(cgit_pageurl(cgit_query_repo, "tree", query));
188 htmlf("'>%s</a></td></tr>\n", sha1_to_hex(commit->tree->object.sha1)); 188 htmlf("'>%s</a></td></tr>\n", sha1_to_hex(commit->tree->object.sha1));
189 for (p = commit->parents; p ; p = p->next) { 189 for (p = commit->parents; p ; p = p->next) {
190 parent = lookup_commit_reference(p->item->object.sha1); 190 parent = lookup_commit_reference(p->item->object.sha1);
191 if (!parent) { 191 if (!parent) {
192 html("<tr><td colspan='3'>"); 192 html("<tr><td colspan='3'>");
193 cgit_print_error("Error reading parent commit"); 193 cgit_print_error("Error reading parent commit");
194 html("</td></tr>"); 194 html("</td></tr>");
195 continue; 195 continue;
196 } 196 }
197 html("<tr><th>parent</th>" 197 html("<tr><th>parent</th>"
198 "<td colspan='2' class='sha1'>" 198 "<td colspan='2' class='sha1'>"
199 "<a href='"); 199 "<a href='");
200 query = fmt("h=%s", sha1_to_hex(p->item->object.sha1)); 200 query = fmt("h=%s", sha1_to_hex(p->item->object.sha1));
201 html_attr(cgit_pageurl(cgit_query_repo, "commit", query)); 201 html_attr(cgit_pageurl(cgit_query_repo, "commit", query));
202 htmlf("'>%s</a> (<a href='", 202 htmlf("'>%s</a> (<a href='",
203 sha1_to_hex(p->item->object.sha1)); 203 sha1_to_hex(p->item->object.sha1));
204 query = fmt("id=%s&id2=%s", sha1_to_hex(parent->tree->object.sha1), 204 query = fmt("id=%s&amp;id2=%s", sha1_to_hex(parent->tree->object.sha1),
205 sha1_to_hex(commit->tree->object.sha1)); 205 sha1_to_hex(commit->tree->object.sha1));
206 html_attr(cgit_pageurl(cgit_query_repo, "diff", query)); 206 html_attr(cgit_pageurl(cgit_query_repo, "diff", query));
207 html("'>diff</a>)</td></tr>"); 207 html("'>diff</a>)</td></tr>");
208 } 208 }
209 if (cgit_repo->snapshots) { 209 if (cgit_repo->snapshots) {
210 htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='"); 210 htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='");
211 filename = fmt("%s-%s.zip", cgit_query_repo, hex); 211 filename = fmt("%s-%s.zip", cgit_query_repo, hex);
212 html_attr(cgit_pageurl(cgit_query_repo, "snapshot", 212 html_attr(cgit_pageurl(cgit_query_repo, "snapshot",
213 fmt("id=%s&name=%s", hex, filename))); 213 fmt("id=%s&amp;name=%s", hex, filename)));
214 htmlf("'>%s</a></td></tr>", filename); 214 htmlf("'>%s</a></td></tr>", filename);
215 } 215 }
216 html("</table>\n"); 216 html("</table>\n");
217 html("<div class='commit-subject'>"); 217 html("<div class='commit-subject'>");
218 html_txt(info->subject); 218 html_txt(info->subject);
219 html("</div>"); 219 html("</div>");
220 html("<div class='commit-msg'>"); 220 html("<div class='commit-msg'>");
221 html_txt(info->msg); 221 html_txt(info->msg);
222 html("</div>"); 222 html("</div>");
223 if (!(commit->parents && commit->parents->next && commit->parents->next->next)) { 223 if (!(commit->parents && commit->parents->next && commit->parents->next->next)) {
224 html("<div class='diffstat-header'>Diffstat</div>"); 224 html("<div class='diffstat-header'>Diffstat</div>");
225 html("<table class='diffstat'>"); 225 html("<table class='diffstat'>");
226 max_changes = 0; 226 max_changes = 0;
227 cgit_diff_commit(commit, inspect_filepair); 227 cgit_diff_commit(commit, inspect_filepair);
228 for(i = 0; i<files; i++) 228 for(i = 0; i<files; i++)
229 print_fileinfo(&items[i]); 229 print_fileinfo(&items[i]);
diff --git a/ui-log.c b/ui-log.c
index c80fd73..75bbbe4 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -101,28 +101,28 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path)
101 commit->parents = NULL; 101 commit->parents = NULL;
102 } 102 }
103 103
104 for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) { 104 for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) {
105 print_commit(commit); 105 print_commit(commit);
106 free(commit->buffer); 106 free(commit->buffer);
107 commit->buffer = NULL; 107 commit->buffer = NULL;
108 free_commit_list(commit->parents); 108 free_commit_list(commit->parents);
109 commit->parents = NULL; 109 commit->parents = NULL;
110 } 110 }
111 html("</table>\n"); 111 html("</table>\n");
112 112
113 html("<div class='pager'>"); 113 html("<div class='pager'>");
114 if (ofs > 0) { 114 if (ofs > 0) {
115 html("&nbsp;<a href='"); 115 html("&nbsp;<a href='");
116 html(cgit_pageurl(cgit_query_repo, cgit_query_page, 116 html(cgit_pageurl(cgit_query_repo, cgit_query_page,
117 fmt("h=%s&ofs=%d", tip, ofs-cnt))); 117 fmt("h=%s&amp;ofs=%d", tip, ofs-cnt)));
118 html("'>[prev]</a>&nbsp;"); 118 html("'>[prev]</a>&nbsp;");
119 } 119 }
120 120
121 if ((commit = get_revision(&rev)) != NULL) { 121 if ((commit = get_revision(&rev)) != NULL) {
122 html("&nbsp;<a href='"); 122 html("&nbsp;<a href='");
123 html(cgit_pageurl(cgit_query_repo, "log", 123 html(cgit_pageurl(cgit_query_repo, "log",
124 fmt("h=%s&ofs=%d", tip, ofs+cnt))); 124 fmt("h=%s&amp;ofs=%d", tip, ofs+cnt)));
125 html("'>[next]</a>&nbsp;"); 125 html("'>[next]</a>&nbsp;");
126 } 126 }
127 html("</div>"); 127 html("</div>");
128} 128}
diff --git a/ui-shared.c b/ui-shared.c
index c8c1c21..aba93e8 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -56,35 +56,35 @@ char *cgit_repourl(const char *reponame)
56 return fmt("?r=%s", reponame); 56 return fmt("?r=%s", reponame);
57 } 57 }
58} 58}
59 59
60char *cgit_pageurl(const char *reponame, const char *pagename, 60char *cgit_pageurl(const char *reponame, const char *pagename,
61 const char *query) 61 const char *query)
62{ 62{
63 if (cgit_virtual_root) { 63 if (cgit_virtual_root) {
64 if (query) 64 if (query)
65 return fmt("%s/%s/%s/?%s", cgit_virtual_root, reponame, 65 return fmt("%s/%s/%s/?%s", cgit_virtual_root, reponame,
66 pagename, query); 66 pagename, query);
67 else 67 else
68 return fmt("%s/%s/%s/", cgit_virtual_root, reponame, 68 return fmt("%s/%s/%s/", cgit_virtual_root, reponame,
69 pagename); 69 pagename);
70 } else { 70 } else {
71 if (query) 71 if (query)
72 return fmt("?r=%s&p=%s&%s", reponame, pagename, query); 72 return fmt("?r=%s&amp;p=%s&amp;%s", reponame, pagename, query);
73 else 73 else
74 return fmt("?r=%s&p=%s", reponame, pagename); 74 return fmt("?r=%s&amp;p=%s", reponame, pagename);
75 } 75 }
76} 76}
77 77
78char *cgit_currurl() 78char *cgit_currurl()
79{ 79{
80 if (!cgit_virtual_root) 80 if (!cgit_virtual_root)
81 return cgit_script_name; 81 return cgit_script_name;
82 else if (cgit_query_page) 82 else if (cgit_query_page)
83 return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page); 83 return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page);
84 else if (cgit_query_repo) 84 else if (cgit_query_repo)
85 return fmt("%s/%s/", cgit_virtual_root, cgit_query_repo); 85 return fmt("%s/%s/", cgit_virtual_root, cgit_query_repo);
86 else 86 else
87 return fmt("%s/", cgit_virtual_root); 87 return fmt("%s/", cgit_virtual_root);
88} 88}
89 89
90 90
diff --git a/ui-summary.c b/ui-summary.c
index 18608b8..15e8aec 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -146,33 +146,33 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
146 tag = lookup_tag(sha1); 146 tag = lookup_tag(sha1);
147 if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) 147 if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
148 return 0; 148 return 0;
149 hashcpy(fileid, tag->tagged->sha1); 149 hashcpy(fileid, tag->tagged->sha1);
150 } else if (obj->type != OBJ_BLOB) { 150 } else if (obj->type != OBJ_BLOB) {
151 return 0; 151 return 0;
152 } else { 152 } else {
153 hashcpy(fileid, sha1); 153 hashcpy(fileid, sha1);
154 } 154 }
155 if (!header) { 155 if (!header) {
156 html("<table id='downloads'>"); 156 html("<table id='downloads'>");
157 html("<tr><th>Downloads</th></tr>"); 157 html("<tr><th>Downloads</th></tr>");
158 header = 1; 158 header = 1;
159 } 159 }
160 html("<tr><td>"); 160 html("<tr><td>");
161 url = cgit_pageurl(cgit_query_repo, "blob", 161 url = cgit_pageurl(cgit_query_repo, "blob",
162 fmt("id=%s&path=%s", sha1_to_hex(fileid), 162 fmt("id=%s&amp;path=%s", sha1_to_hex(fileid),
163 buf)); 163 buf));
164 html_link_open(url, NULL, NULL); 164 html_link_open(url, NULL, NULL);
165 html_txt(buf); 165 html_txt(buf);
166 html_link_close(); 166 html_link_close();
167 html("</td></tr>"); 167 html("</td></tr>");
168 return 0; 168 return 0;
169} 169}
170 170
171static void cgit_print_branches() 171static void cgit_print_branches()
172{ 172{
173 html("<tr class='nohover'><th class='left'>Branch</th>" 173 html("<tr class='nohover'><th class='left'>Branch</th>"
174 "<th class='left'>Idle</th>" 174 "<th class='left'>Idle</th>"
175 "<th class='left'>Author</th>" 175 "<th class='left'>Author</th>"
176 "<th class='left'>Head commit</th></tr>\n"); 176 "<th class='left'>Head commit</th></tr>\n");
177 for_each_branch_ref(cgit_print_branch_cb, NULL); 177 for_each_branch_ref(cgit_print_branch_cb, NULL);
178} 178}
diff --git a/ui-tree.c b/ui-tree.c
index 006ca47..cb57d8d 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -24,51 +24,51 @@ static int print_entry(const unsigned char *sha1, const char *base,
24 htmlf("<tr><td colspan='3'>Bad object: %s %s</td></tr>", 24 htmlf("<tr><td colspan='3'>Bad object: %s %s</td></tr>",
25 name, 25 name,
26 sha1_to_hex(sha1)); 26 sha1_to_hex(sha1));
27 return 0; 27 return 0;
28 } 28 }
29 html("<tr><td class='filemode'>"); 29 html("<tr><td class='filemode'>");
30 html_filemode(mode); 30 html_filemode(mode);
31 html("</td><td "); 31 html("</td><td ");
32 if (S_ISDIRLNK(mode)) { 32 if (S_ISDIRLNK(mode)) {
33 htmlf("class='ls-mod'><a href='"); 33 htmlf("class='ls-mod'><a href='");
34 html_attr(fmt(cgit_repo->module_link, 34 html_attr(fmt(cgit_repo->module_link,
35 name, 35 name,
36 sha1_to_hex(sha1))); 36 sha1_to_hex(sha1)));
37 } else if (S_ISDIR(mode)) { 37 } else if (S_ISDIR(mode)) {
38 html("class='ls-dir'><a href='"); 38 html("class='ls-dir'><a href='");
39 html_attr(cgit_pageurl(cgit_query_repo, "tree", 39 html_attr(cgit_pageurl(cgit_query_repo, "tree",
40 fmt("h=%s&id=%s&path=%s%s/", 40 fmt("h=%s&amp;id=%s&amp;path=%s%s/",
41 curr_rev, 41 curr_rev,
42 sha1_to_hex(sha1), 42 sha1_to_hex(sha1),
43 cgit_query_path ? cgit_query_path : "", 43 cgit_query_path ? cgit_query_path : "",
44 pathname))); 44 pathname)));
45 } else { 45 } else {
46 html("class='ls-blob'><a href='"); 46 html("class='ls-blob'><a href='");
47 html_attr(cgit_pageurl(cgit_query_repo, "view", 47 html_attr(cgit_pageurl(cgit_query_repo, "view",
48 fmt("h=%s&id=%s&path=%s%s", curr_rev, 48 fmt("h=%s&amp;id=%s&amp;path=%s%s", curr_rev,
49 sha1_to_hex(sha1), 49 sha1_to_hex(sha1),
50 cgit_query_path ? cgit_query_path : "", 50 cgit_query_path ? cgit_query_path : "",
51 pathname))); 51 pathname)));
52 } 52 }
53 htmlf("'>%s</a></td>", name); 53 htmlf("'>%s</a></td>", name);
54 htmlf("<td class='filesize'>%li</td>", size); 54 htmlf("<td class='filesize'>%li</td>", size);
55 55
56 html("<td class='links'><a href='"); 56 html("<td class='links'><a href='");
57 html_attr(cgit_pageurl(cgit_query_repo, "log", 57 html_attr(cgit_pageurl(cgit_query_repo, "log",
58 fmt("h=%s&path=%s%s", 58 fmt("h=%s&amp;path=%s%s",
59 curr_rev, 59 curr_rev,
60 cgit_query_path ? cgit_query_path : "", 60 cgit_query_path ? cgit_query_path : "",
61 pathname))); 61 pathname)));
62 html("'>history</a></td>"); 62 html("'>history</a></td>");
63 html("</tr>\n"); 63 html("</tr>\n");
64 free(name); 64 free(name);
65 return 0; 65 return 0;
66} 66}
67 67
68void cgit_print_tree(const char *rev, const char *hex, char *path) 68void cgit_print_tree(const char *rev, const char *hex, char *path)
69{ 69{
70 struct tree *tree; 70 struct tree *tree;
71 unsigned char sha1[20]; 71 unsigned char sha1[20];
72 struct commit *commit; 72 struct commit *commit;
73 73
74 curr_rev = xstrdup(rev); 74 curr_rev = xstrdup(rev);
diff --git a/ui-view.c b/ui-view.c
index dbe4b29..8873415 100644
--- a/ui-view.c
+++ b/ui-view.c
@@ -30,26 +30,26 @@ void cgit_print_view(const char *hex, char *path)
30 if (!buf) { 30 if (!buf) {
31 cgit_print_error(fmt("Error reading object %s", hex)); 31 cgit_print_error(fmt("Error reading object %s", hex));
32 return; 32 return;
33 } 33 }
34 34
35 buf[size] = '\0'; 35 buf[size] = '\0';
36 html("<table class='list'>\n"); 36 html("<table class='list'>\n");
37 html("<tr class='nohover'><th class='left'>"); 37 html("<tr class='nohover'><th class='left'>");
38 if (path) 38 if (path)
39 htmlf("%s (", path); 39 htmlf("%s (", path);
40 htmlf("%s %s, %li bytes", typename(type), hex, size); 40 htmlf("%s %s, %li bytes", typename(type), hex, size);
41 if (path) 41 if (path)
42 html(")"); 42 html(")");
43 43
44 html(" <a href='"); 44 html(" <a href='");
45 html_attr(cgit_pageurl(cgit_query_repo, "blob", 45 html_attr(cgit_pageurl(cgit_query_repo, "blob",
46 fmt("id=%s&path=%s", 46 fmt("id=%s&amp;path=%s",
47 hex, 47 hex,
48 path))); 48 path)));
49 html("'>download</a>"); 49 html("'>download</a>");
50 html("</th></tr>\n"); 50 html("</th></tr>\n");
51 html("<tr><td class='blob'>\n"); 51 html("<tr><td class='blob'>\n");
52 html_txt(buf); 52 html_txt(buf);
53 html("\n</td></tr>\n"); 53 html("\n</td></tr>\n");
54 html("</table>\n"); 54 html("</table>\n");
55} 55}