Switch to exclusively using global ctx

Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:

* cgit_print_http_headers()
* cgit_print_docstart()
* cgit_print_pageheader()

Remove context parameter from all commands

Drop the context parameter from the following functions (and all static
helpers used by them) and use the global context instead:

* cgit_get_cmd()
* All cgit command functions.
* cgit_clone_info()
* cgit_clone_objects()
* cgit_clone_head()
* cgit_print_plain()
* cgit_show_stats()

In initialization routines, use the global context variable instead of
passing a pointer around locally.

Remove callback data parameter for cache slots

This is no longer needed since the context is always read from the
global context variable.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-01-15 21:53:15 +01:00 committed by Jason A. Donenfeld
parent a431326e8f
commit f60ffa143c
19 changed files with 436 additions and 441 deletions

View file

@ -103,7 +103,7 @@ static int print_object(const unsigned char *sha1, const char *path)
ctx.page.filename = path;
ctx.page.size = size;
ctx.page.etag = sha1_to_hex(sha1);
cgit_print_http_headers(&ctx);
cgit_print_http_headers();
html_raw(buf, size);
/* If we allocated this, then casting away const is safe. */
if (freemime)
@ -128,7 +128,7 @@ static void print_dir(const unsigned char *sha1, const char *base,
fullpath = buildpath(base, baselen, path);
slash = (fullpath[0] == '/' ? "" : "/");
ctx.page.etag = sha1_to_hex(sha1);
cgit_print_http_headers(&ctx);
cgit_print_http_headers();
htmlf("<html><head><title>%s", slash);
html_txt(fullpath);
htmlf("</title></head>\n<body>\n<h2>%s", slash);
@ -206,14 +206,14 @@ static int basedir_len(const char *path)
return 0;
}
void cgit_print_plain(struct cgit_context *ctx)
void cgit_print_plain(void)
{
const char *rev = ctx->qry.sha1;
const char *rev = ctx.qry.sha1;
unsigned char sha1[20];
struct commit *commit;
struct pathspec_item path_items = {
.match = ctx->qry.path,
.len = ctx->qry.path ? strlen(ctx->qry.path) : 0
.match = ctx.qry.path,
.len = ctx.qry.path ? strlen(ctx.qry.path) : 0
};
struct pathspec paths = {
.nr = 1,
@ -224,7 +224,7 @@ void cgit_print_plain(struct cgit_context *ctx)
};
if (!rev)
rev = ctx->qry.head;
rev = ctx.qry.head;
if (get_sha1(rev, sha1)) {
html_status(404, "Not found", 0);