return 0;
}
-static int print_archive_ref(const char *refname, const unsigned char *sha1,
- int flags, void *cb_data)
-{
- struct tag *tag;
- struct taginfo *info;
- struct object *obj;
- char buf[256], *url;
- unsigned char fileid[20];
- int *header = (int *)cb_data;
-
- if (prefixcmp(refname, "refs/archives"))
- return 0;
- strncpy(buf, refname + 14, sizeof(buf));
- obj = parse_object(sha1);
- if (!obj)
- return 1;
- if (obj->type == OBJ_TAG) {
- tag = lookup_tag(sha1);
- if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
- return 0;
- hashcpy(fileid, tag->tagged->sha1);
- } else if (obj->type != OBJ_BLOB) {
- return 0;
- } else {
- hashcpy(fileid, sha1);
- }
- if (!*header) {
- html("<h1>download</h1>\n");
- *header = 1;
- }
- url = cgit_pageurl(ctx.qry.repo, "blob",
- fmt("id=%s&path=%s", sha1_to_hex(fileid),
- buf));
- html_link_open(url, NULL, "menu");
- html_txt(strlpart(buf, 20));
- html_link_close();
- return 0;
-}
-
void cgit_add_hidden_formfields(int incl_head, int incl_search,
const char *page)
{