summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2008-12-01 20:50:19 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-12-01 20:50:19 (UTC)
commitb9053a4ff04fef90d1b9ab3f813ae3fcee63a8c3 (patch) (unidiff)
treefb20e92f6e27a1148c525e8137399f845aec5a43
parent4b4f8d1256669bf9838e17f83a070de0ec09a699 (diff)
downloadcgit-b9053a4ff04fef90d1b9ab3f813ae3fcee63a8c3.zip
cgit-b9053a4ff04fef90d1b9ab3f813ae3fcee63a8c3.tar.gz
cgit-b9053a4ff04fef90d1b9ab3f813ae3fcee63a8c3.tar.bz2
ui-shared: exploit snapshot dwimmery in cgit_print_snapshot_links
Since we know that ui-snapshot.c is able to extract the revision from the filename, there's no longer necessary to specify the revision with a 'id' querystring argument. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 224e5f3..c4a506e 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -662,53 +662,52 @@ void cgit_print_pageheader(struct cgit_context *ctx)
662 html("'/>\n"); 662 html("'/>\n");
663 html("<input type='submit' value='search'/>\n"); 663 html("<input type='submit' value='search'/>\n");
664 html("</form>\n"); 664 html("</form>\n");
665 } else { 665 } else {
666 site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0); 666 site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0);
667 if (ctx->cfg.root_readme) 667 if (ctx->cfg.root_readme)
668 site_link("about", "about", NULL, hc(cmd, "about"), 668 site_link("about", "about", NULL, hc(cmd, "about"),
669 NULL, 0); 669 NULL, 0);
670 html("</td><td class='form'>"); 670 html("</td><td class='form'>");
671 html("<form method='get' action='"); 671 html("<form method='get' action='");
672 html_attr(cgit_rooturl()); 672 html_attr(cgit_rooturl());
673 html("'>\n"); 673 html("'>\n");
674 html("<input type='text' name='q' size='10' value='"); 674 html("<input type='text' name='q' size='10' value='");
675 html_attr(ctx->qry.search); 675 html_attr(ctx->qry.search);
676 html("'/>\n"); 676 html("'/>\n");
677 html("<input type='submit' value='search'/>\n"); 677 html("<input type='submit' value='search'/>\n");
678 html("</form>"); 678 html("</form>");
679 } 679 }
680 html("</td></tr></table>\n"); 680 html("</td></tr></table>\n");
681 html("<div class='content'>"); 681 html("<div class='content'>");
682} 682}
683 683
684void cgit_print_filemode(unsigned short mode) 684void cgit_print_filemode(unsigned short mode)
685{ 685{
686 if (S_ISDIR(mode)) 686 if (S_ISDIR(mode))
687 html("d"); 687 html("d");
688 else if (S_ISLNK(mode)) 688 else if (S_ISLNK(mode))
689 html("l"); 689 html("l");
690 else if (S_ISGITLINK(mode)) 690 else if (S_ISGITLINK(mode))
691 html("m"); 691 html("m");
692 else 692 else
693 html("-"); 693 html("-");
694 html_fileperm(mode >> 6); 694 html_fileperm(mode >> 6);
695 html_fileperm(mode >> 3); 695 html_fileperm(mode >> 3);
696 html_fileperm(mode); 696 html_fileperm(mode);
697} 697}
698 698
699void cgit_print_snapshot_links(const char *repo, const char *head, 699void cgit_print_snapshot_links(const char *repo, const char *head,
700 const char *hex, int snapshots) 700 const char *hex, int snapshots)
701{ 701{
702 const struct cgit_snapshot_format* f; 702 const struct cgit_snapshot_format* f;
703 char *filename; 703 char *filename;
704 704
705 for (f = cgit_snapshot_formats; f->suffix; f++) { 705 for (f = cgit_snapshot_formats; f->suffix; f++) {
706 if (!(snapshots & f->bit)) 706 if (!(snapshots & f->bit))
707 continue; 707 continue;
708 filename = fmt("%s-%s%s", cgit_repobasename(repo), hex, 708 filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
709 f->suffix); 709 f->suffix);
710 cgit_snapshot_link(filename, NULL, NULL, (char *)head, 710 cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename);
711 (char *)hex, filename);
712 html("<br/>"); 711 html("<br/>");
713 } 712 }
714} 713}