html("<table summary='blob content' class='blob'>\n");
- html("<tr><td class='linenumbers'><pre>");
- idx = 0;
- lineno = 0;
-
- if (size) {
- htmlf(numberfmt, ++lineno);
- while(idx < size - 1) { // skip absolute last newline
- if (buf[idx] == '\n')
- htmlf(numberfmt, ++lineno);
- idx++;
+ if (ctx.cfg.enable_tree_linenumbers) {
+ html("<tr><td class='linenumbers'><pre>");
+ idx = 0;
+ lineno = 0;
+
+ if (size) {
+ htmlf(numberfmt, ++lineno);
+ while(idx < size - 1) { // skip absolute last newline
+ if (buf[idx] == '\n')
+ htmlf(numberfmt, ++lineno);
+ idx++;
+ }
}
+ html("</pre></td>\n");
+ }
+ else {
+ html("<tr>\n");
}
- html("</pre></td>\n");
if (ctx.repo->source_filter) {
html("<td class='lines'><pre><code>");
curr_rev, path);
htmlf(")<br/>blob: %s\n", sha1_to_hex(sha1));
+ if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) {
+ htmlf("<div class='error'>blob size (%dKB) exceeds display size limit (%dKB).</div>",
+ size / 1024, ctx.cfg.max_blob_size);
+ return;
+ }
+
if (buffer_is_binary(buf, size))
print_binary_buffer(buf, size);
else
if (ctx.repo->max_stats)
cgit_stats_link("stats", NULL, "button", ctx.qry.head,
fullpath);
+ cgit_plain_link("plain", NULL, "button", ctx.qry.head, curr_rev,
+ fullpath);
html("</td></tr>\n");
free(name);
return 0;
}
match_path = path;
- read_tree_recursive(commit->tree, NULL, 0, 0, paths, walk_tree, NULL);
+ read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
ls_tail();
}