X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/6d8a789d61f3a682bc040f1f7f44050b1f723546..8f208794318f83826e98168b8b430f2d9a68bcce:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 80f4aee..945d560 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -7,6 +7,7 @@ */ #include "cgit.h" +#include "ui-shared.h" #include "cmd.h" #include "html.h" @@ -34,7 +35,7 @@ void cgit_print_error(const char *msg) html("\n"); } -char *cgit_httpscheme() +const char *cgit_httpscheme() { if (ctx.env.https && !strcmp(ctx.env.https, "on")) return "https://"; @@ -42,7 +43,7 @@ char *cgit_httpscheme() return "http://"; } -char *cgit_hosturl() +const char *cgit_hosturl() { if (ctx.env.http_host) return ctx.env.http_host; @@ -53,7 +54,7 @@ char *cgit_hosturl() return xstrdup(fmt("%s:%s", ctx.env.server_name, ctx.env.server_port)); } -char *cgit_rooturl() +const char *cgit_rooturl() { if (ctx.cfg.virtual_root) return fmt("%s/", ctx.cfg.virtual_root); @@ -121,18 +122,6 @@ const char *cgit_repobasename(const char *reponame) return rvbuf; } -char *cgit_currurl() -{ - if (!ctx.cfg.virtual_root) - return ctx.cfg.script_name; - else if (ctx.qry.page) - return fmt("%s/%s/%s/", ctx.cfg.virtual_root, ctx.qry.repo, ctx.qry.page); - else if (ctx.qry.repo) - return fmt("%s/%s/", ctx.cfg.virtual_root, ctx.qry.repo); - else - return fmt("%s/", ctx.cfg.virtual_root); -} - static void site_url(const char *page, const char *search, const char *sort, int ofs) { char *delim = "?"; @@ -433,8 +422,8 @@ void cgit_stats_link(const char *name, const char *title, const char *class, reporevlink("stats", name, title, class, head, NULL, path); } -void cgit_self_link(char *name, const char *title, const char *class, - struct cgit_context *ctx) +static void cgit_self_link(char *name, const char *title, const char *class, + struct cgit_context *ctx) { if (!strcmp(ctx->qry.page, "repolist")) cgit_index_link(name, title, class, ctx->qry.search, ctx->qry.sort, @@ -513,8 +502,8 @@ void cgit_object_link(struct object *obj) reporevlink(page, name, NULL, NULL, ctx.qry.head, fullrev, NULL); } -struct string_list_item *lookup_path(struct string_list *list, - const char *path) +static struct string_list_item *lookup_path(struct string_list *list, + const char *path) { struct string_list_item *item; @@ -535,6 +524,7 @@ void cgit_submodule_link(const char *class, char *path, const char *rev) char tail, *dir; size_t len; + len = 0; tail = 0; list = &ctx.repo->submodules; item = lookup_path(list, path); @@ -662,7 +652,7 @@ void cgit_print_docstart(struct cgit_context *ctx) return; } - char *host = cgit_hosturl(); + const char *host = cgit_hosturl(); html(cgit_doctype); html("\n"); html("\n"); @@ -717,53 +707,14 @@ void cgit_print_docend() html("\n\n"); } -int print_branch_option(const char *refname, const unsigned char *sha1, - int flags, void *cb_data) +static int print_branch_option(const char *refname, const unsigned char *sha1, + int flags, void *cb_data) { char *name = (char *)refname; html_option(name, name, ctx.qry.head); return 0; } -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("

download

\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) { @@ -983,4 +934,5 @@ void cgit_print_snapshot_links(const char *repo, const char *head, cgit_snapshot_link(filename, NULL, NULL, NULL, NULL, filename); html("
"); } + free(prefix); }