summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--ui-commit.c2
-rw-r--r--ui-diff.c9
-rw-r--r--ui-tree.c2
3 files changed, 7 insertions, 6 deletions
diff --git a/ui-commit.c b/ui-commit.c
index 59eeb1d..6b135aa 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -90,33 +90,33 @@ void print_fileinfo(struct fileinfo *info)
html_txt(info->old_path);
html("</a>)");
} else {
html_txt(info->new_path);
html("</a>");
}
html("</td><td class='right'>");
htmlf("%d", info->added + info->removed);
html("</td><td class='graph'>");
htmlf("<table width='%d%%'><tr>", (max_changes > 100 ? 100 : max_changes));
htmlf("<td class='add' style='width: %.1f%%;'/>",
info->added * 100.0 / max_changes);
htmlf("<td class='rem' style='width: %.1f%%;'/>",
info->removed * 100.0 / max_changes);
htmlf("<td class='none' style='width: %.1f%%;'/>",
(max_changes - info->removed - info->added) * 100.0 / max_changes);
- html("</tr></table></a></td></tr>\n");
+ html("</tr></table></td></tr>\n");
}
void cgit_count_diff_lines(char *line, int len)
{
if (line && (len > 0)) {
if (line[0] == '+')
lines_added++;
else if (line[0] == '-')
lines_removed++;
}
}
void inspect_filepair(struct diff_filepair *pair)
{
files++;
lines_added = 0;
diff --git a/ui-diff.c b/ui-diff.c
index 3ed0a46..e6b957c 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -25,33 +25,32 @@ static void print_line(char *line, int len)
class = "hunk";
htmlf("<div class='%s'>", class);
line[len-1] = '\0';
html_txt(line);
html("</div>");
line[len-1] = c;
}
static void header(unsigned char *sha1, char *path1, int mode1,
unsigned char *sha2, char *path2, int mode2)
{
char *abbrev1, *abbrev2;
int subproject;
subproject = (S_ISDIRLNK(mode1) || S_ISDIRLNK(mode2));
- html("<tr><td>");
html("<div class='head'>");
html("diff --git a/");
html_txt(path1);
html(" b/");
html_txt(path2);
if (is_null_sha1(sha1))
path1 = "dev/null";
if (is_null_sha1(sha2))
path2 = "dev/null";
if (mode1 == 0)
htmlf("<br/>new file mode %.6o", mode2);
if (mode2 == 0)
htmlf("<br/>deleted file mode %.6o", mode1);
@@ -89,53 +88,55 @@ static void filepair_cb(struct diff_filepair *pair)
if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line))
cgit_print_error("Error running diff");
}
void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex, char *path)
{
unsigned char sha1[20], sha2[20];
enum object_type type;
unsigned long size;
struct commit *commit;
if (head && !old_hex && !new_hex) {
get_sha1(head, sha1);
commit = lookup_commit_reference(sha1);
if (commit && !parse_commit(commit)) {
html("<table class='diff'>");
+ html("<tr><td>");
cgit_diff_commit(commit, filepair_cb);
- html("</td></tr></table>");
+ html("</td></tr>");
+ html("</table>");
}
return;
}
get_sha1(old_hex, sha1);
get_sha1(new_hex, sha2);
type = sha1_object_info(sha1, &size);
if (type == OBJ_BAD) {
type = sha1_object_info(sha2, &size);
if (type == OBJ_BAD) {
cgit_print_error(fmt("Bad object names: %s, %s", old_hex, new_hex));
return;
}
}
html("<table class='diff'>");
switch(type) {
case OBJ_BLOB:
html("<tr><td>");
header(sha1, path, 0644, sha2, path, 0644);
if (cgit_diff_files(sha1, sha2, print_line))
cgit_print_error("Error running diff");
- html("</tr></td>");
+ html("</td></tr>");
break;
case OBJ_TREE:
cgit_diff_tree(sha1, sha2, filepair_cb);
break;
default:
cgit_print_error(fmt("Unhandled object type: %s",
typename(type)));
break;
}
- html("</td></tr></table>");
+ html("</table>");
}
diff --git a/ui-tree.c b/ui-tree.c
index 032a966..006ca47 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -37,33 +37,33 @@ static int print_entry(const unsigned char *sha1, const char *base,
} else if (S_ISDIR(mode)) {
html("class='ls-dir'><a href='");
html_attr(cgit_pageurl(cgit_query_repo, "tree",
fmt("h=%s&id=%s&path=%s%s/",
curr_rev,
sha1_to_hex(sha1),
cgit_query_path ? cgit_query_path : "",
pathname)));
} else {
html("class='ls-blob'><a href='");
html_attr(cgit_pageurl(cgit_query_repo, "view",
fmt("h=%s&id=%s&path=%s%s", curr_rev,
sha1_to_hex(sha1),
cgit_query_path ? cgit_query_path : "",
pathname)));
}
- htmlf("'>%s</a></div></td>", name);
+ htmlf("'>%s</a></td>", name);
htmlf("<td class='filesize'>%li</td>", size);
html("<td class='links'><a href='");
html_attr(cgit_pageurl(cgit_query_repo, "log",
fmt("h=%s&path=%s%s",
curr_rev,
cgit_query_path ? cgit_query_path : "",
pathname)));
html("'>history</a></td>");
html("</tr>\n");
free(name);
return 0;
}
void cgit_print_tree(const char *rev, const char *hex, char *path)
{