summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cache.c4
-rw-r--r--cgit.c72
-rw-r--r--cgit.h35
-rw-r--r--parsing.c8
-rw-r--r--shared.c43
-rw-r--r--ui-commit.c14
-rw-r--r--ui-diff.c6
-rw-r--r--ui-log.c20
-rw-r--r--ui-patch.c2
-rw-r--r--ui-refs.c4
-rw-r--r--ui-shared.c86
-rw-r--r--ui-summary.c6
-rw-r--r--ui-tree.c20
13 files changed, 156 insertions, 164 deletions
diff --git a/cache.c b/cache.c
index 372e38d..b162952 100644
--- a/cache.c
+++ b/cache.c
@@ -59,6 +59,6 @@ int cache_create_dirs()
- if (cgit_query_page) {
+ if (ctx.qry.page) {
path = fmt("%s/%s/%s", cgit_cache_root,
cache_safe_filename(cgit_repo->url),
- cgit_query_page);
+ ctx.qry.page);
if (mkdir(path, S_IRWXU) && errno!=EEXIST)
diff --git a/cgit.c b/cgit.c
index e8acc03..8a30c3c 100644
--- a/cgit.c
+++ b/cgit.c
@@ -12,3 +12,3 @@ static int cgit_prepare_cache(struct cacheitem *item)
{
- if (!cgit_repo && cgit_query_repo) {
+ if (!cgit_repo && ctx.qry.repo) {
char *title = fmt("%s - %s", cgit_root_title, "Bad request");
@@ -16,3 +16,3 @@ static int cgit_prepare_cache(struct cacheitem *item)
cgit_print_pageheader(title, 0);
- cgit_print_error(fmt("Unknown repo: %s", cgit_query_repo));
+ cgit_print_error(fmt("Unknown repo: %s", ctx.qry.repo));
cgit_print_docend();
@@ -30,3 +30,3 @@ static int cgit_prepare_cache(struct cacheitem *item)
cache_safe_filename(cgit_repo->url),
- cache_safe_filename(cgit_querystring)));
+ cache_safe_filename(ctx.qry.raw)));
item->ttl = cgit_cache_repo_ttl;
@@ -35,7 +35,7 @@ static int cgit_prepare_cache(struct cacheitem *item)
cache_safe_filename(cgit_repo->url),
- cgit_query_page,
- cache_safe_filename(cgit_querystring)));
- if (cgit_query_has_symref)
+ ctx.qry.page,
+ cache_safe_filename(ctx.qry.raw)));
+ if (ctx.qry.has_symref)
item->ttl = cgit_cache_dynamic_ttl;
- else if (cgit_query_has_sha1)
+ else if (ctx.qry.has_sha1)
item->ttl = cgit_cache_static_ttl;
@@ -100,8 +100,8 @@ static void cgit_print_repo_page(struct cacheitem *item)
- if (!cgit_query_head) {
- cgit_query_head = xstrdup(find_default_branch(cgit_repo));
- cgit_repo->defbranch = cgit_query_head;
+ if (!ctx.qry.head) {
+ ctx.qry.head = xstrdup(find_default_branch(cgit_repo));
+ cgit_repo->defbranch = ctx.qry.head;
}
- if (!cgit_query_head) {
+ if (!ctx.qry.head) {
cgit_print_docstart(title, item);
@@ -113,5 +113,5 @@ static void cgit_print_repo_page(struct cacheitem *item)
- if (get_sha1(cgit_query_head, sha1)) {
- tmp = xstrdup(cgit_query_head);
- cgit_query_head = cgit_repo->defbranch;
+ if (get_sha1(ctx.qry.head, sha1)) {
+ tmp = xstrdup(ctx.qry.head);
+ ctx.qry.head = cgit_repo->defbranch;
cgit_print_docstart(title, item);
@@ -124,5 +124,5 @@ static void cgit_print_repo_page(struct cacheitem *item)
if ((cgit_cmd == CMD_SNAPSHOT) && cgit_repo->snapshots) {
- cgit_print_snapshot(item, cgit_query_head, cgit_query_sha1,
+ cgit_print_snapshot(item, ctx.qry.head, ctx.qry.sha1,
cgit_repobasename(cgit_repo->url),
- cgit_query_path,
+ ctx.qry.path,
cgit_repo->snapshots );
@@ -132,3 +132,3 @@ static void cgit_print_repo_page(struct cacheitem *item)
if (cgit_cmd == CMD_PATCH) {
- cgit_print_patch(cgit_query_sha1, item);
+ cgit_print_patch(ctx.qry.sha1, item);
return;
@@ -137,3 +137,3 @@ static void cgit_print_repo_page(struct cacheitem *item)
if (cgit_cmd == CMD_BLOB) {
- cgit_print_blob(item, cgit_query_sha1, cgit_query_path);
+ cgit_print_blob(item, ctx.qry.sha1, ctx.qry.path);
return;
@@ -150,3 +150,3 @@ static void cgit_print_repo_page(struct cacheitem *item)
- cgit_print_pageheader(cgit_query_page, show_search);
+ cgit_print_pageheader(ctx.qry.page, show_search);
@@ -154,11 +154,11 @@ static void cgit_print_repo_page(struct cacheitem *item)
case CMD_LOG:
- cgit_print_log(cgit_query_sha1, cgit_query_ofs,
- cgit_max_commit_count, cgit_query_grep, cgit_query_search,
- cgit_query_path, 1);
+ cgit_print_log(ctx.qry.sha1, ctx.qry.ofs,
+ cgit_max_commit_count, ctx.qry.grep, ctx.qry.search,
+ ctx.qry.path, 1);
break;
case CMD_TREE:
- cgit_print_tree(cgit_query_sha1, cgit_query_path);
+ cgit_print_tree(ctx.qry.sha1, ctx.qry.path);
break;
case CMD_COMMIT:
- cgit_print_commit(cgit_query_sha1);
+ cgit_print_commit(ctx.qry.sha1);
break;
@@ -168,6 +168,6 @@ static void cgit_print_repo_page(struct cacheitem *item)
case CMD_TAG:
- cgit_print_tag(cgit_query_sha1);
+ cgit_print_tag(ctx.qry.sha1);
break;
case CMD_DIFF:
- cgit_print_diff(cgit_query_sha1, cgit_query_sha2, cgit_query_path);
+ cgit_print_diff(ctx.qry.sha1, ctx.qry.sha2, ctx.qry.path);
break;
@@ -266,20 +266,20 @@ static void cgit_parse_args(int argc, const char **argv)
if (!strncmp(argv[i], "--query=", 8)) {
- cgit_querystring = xstrdup(argv[i]+8);
+ ctx.qry.raw = xstrdup(argv[i]+8);
}
if (!strncmp(argv[i], "--repo=", 7)) {
- cgit_query_repo = xstrdup(argv[i]+7);
+ ctx.qry.repo = xstrdup(argv[i]+7);
}
if (!strncmp(argv[i], "--page=", 7)) {
- cgit_query_page = xstrdup(argv[i]+7);
+ ctx.qry.page = xstrdup(argv[i]+7);
}
if (!strncmp(argv[i], "--head=", 7)) {
- cgit_query_head = xstrdup(argv[i]+7);
- cgit_query_has_symref = 1;
+ ctx.qry.head = xstrdup(argv[i]+7);
+ ctx.qry.has_symref = 1;
}
if (!strncmp(argv[i], "--sha1=", 7)) {
- cgit_query_sha1 = xstrdup(argv[i]+7);
- cgit_query_has_sha1 = 1;
+ ctx.qry.sha1 = xstrdup(argv[i]+7);
+ ctx.qry.has_sha1 = 1;
}
if (!strncmp(argv[i], "--ofs=", 6)) {
- cgit_query_ofs = atoi(argv[i]+6);
+ ctx.qry.ofs = atoi(argv[i]+6);
}
@@ -305,5 +305,5 @@ int main(int argc, const char **argv)
if (getenv("QUERY_STRING"))
- cgit_querystring = xstrdup(getenv("QUERY_STRING"));
+ ctx.qry.raw = xstrdup(getenv("QUERY_STRING"));
cgit_parse_args(argc, argv);
- cgit_parse_query(cgit_querystring, cgit_querystring_cb);
+ cgit_parse_query(ctx.qry.raw, cgit_querystring_cb);
if (!cgit_prepare_cache(&item))
diff --git a/cgit.h b/cgit.h
index 66c40b9..4576efb 100644
--- a/cgit.h
+++ b/cgit.h
@@ -125,2 +125,22 @@ struct reflist {
+struct cgit_query {
+ int has_symref;
+ int has_sha1;
+ char *raw;
+ char *repo;
+ char *page;
+ char *search;
+ char *grep;
+ char *head;
+ char *sha1;
+ char *sha2;
+ char *path;
+ char *name;
+ int ofs;
+};
+
+struct cgit_context {
+ struct cgit_query qry;
+};
+
extern const char *cgit_version;
@@ -129,2 +149,3 @@ extern struct repolist cgit_repolist;
extern struct repoinfo *cgit_repo;
+extern struct cgit_context ctx;
extern int cgit_cmd;
@@ -165,16 +186,2 @@ extern int cgit_max_commit_count;
-extern int cgit_query_has_symref;
-extern int cgit_query_has_sha1;
-
-extern char *cgit_querystring;
-extern char *cgit_query_repo;
-extern char *cgit_query_page;
-extern char *cgit_query_search;
-extern char *cgit_query_grep;
-extern char *cgit_query_head;
-extern char *cgit_query_sha1;
-extern char *cgit_query_sha2;
-extern char *cgit_query_path;
-extern char *cgit_query_name;
-extern int cgit_query_ofs;
diff --git a/parsing.c b/parsing.c
index 5093b8b..8cf56a4 100644
--- a/parsing.c
+++ b/parsing.c
@@ -151,3 +151,3 @@ void cgit_parse_url(const char *url)
if (cgit_repo) {
- cgit_query_repo = cgit_repo->url;
+ ctx.qry.repo = cgit_repo->url;
return;
@@ -165,3 +165,3 @@ void cgit_parse_url(const char *url)
- cgit_query_repo = cgit_repo->url;
+ ctx.qry.repo = cgit_repo->url;
p = strchr(cmd + 1, '/');
@@ -170,6 +170,6 @@ void cgit_parse_url(const char *url)
if (p[1])
- cgit_query_path = trim_end(p + 1, '/');
+ ctx.qry.path = trim_end(p + 1, '/');
}
cgit_cmd = cgit_get_cmd_index(cmd + 1);
- cgit_query_page = xstrdup(cmd + 1);
+ ctx.qry.page = xstrdup(cmd + 1);
return;
diff --git a/shared.c b/shared.c
index f063894..6c1a762 100644
--- a/shared.c
+++ b/shared.c
@@ -12,2 +12,3 @@ struct repolist cgit_repolist;
struct repoinfo *cgit_repo;
+struct cgit_context ctx;
int cgit_cmd;
@@ -51,20 +52,4 @@ int cgit_max_commit_count = 50;
-int cgit_query_has_symref = 0;
-int cgit_query_has_sha1 = 0;
-
-char *cgit_querystring = NULL;
-char *cgit_query_repo = NULL;
-char *cgit_query_page = NULL;
-char *cgit_query_head = NULL;
-char *cgit_query_search = NULL;
-char *cgit_query_grep = NULL;
-char *cgit_query_sha1 = NULL;
-char *cgit_query_sha2 = NULL;
-char *cgit_query_path = NULL;
-char *cgit_query_name = NULL;
-int cgit_query_ofs = 0;
-
int htmlfd = 0;
-
int cgit_get_cmd_index(const char *cmd)
@@ -241,6 +226,6 @@ void cgit_querystring_cb(const char *name, const char *value)
if (!strcmp(name,"r")) {
- cgit_query_repo = xstrdup(value);
+ ctx.qry.repo = xstrdup(value);
cgit_repo = cgit_get_repoinfo(value);
} else if (!strcmp(name, "p")) {
- cgit_query_page = xstrdup(value);
+ ctx.qry.page = xstrdup(value);
cgit_cmd = cgit_get_cmd_index(value);
@@ -249,20 +234,20 @@ void cgit_querystring_cb(const char *name, const char *value)
} else if (!strcmp(name, "qt")) {
- cgit_query_grep = xstrdup(value);
+ ctx.qry.grep = xstrdup(value);
} else if (!strcmp(name, "q")) {
- cgit_query_search = xstrdup(value);
+ ctx.qry.search = xstrdup(value);
} else if (!strcmp(name, "h")) {
- cgit_query_head = xstrdup(value);
- cgit_query_has_symref = 1;
+ ctx.qry.head = xstrdup(value);
+ ctx.qry.has_symref = 1;
} else if (!strcmp(name, "id")) {
- cgit_query_sha1 = xstrdup(value);
- cgit_query_has_sha1 = 1;
+ ctx.qry.sha1 = xstrdup(value);
+ ctx.qry.has_sha1 = 1;
} else if (!strcmp(name, "id2")) {
- cgit_query_sha2 = xstrdup(value);
- cgit_query_has_sha1 = 1;
+ ctx.qry.sha2 = xstrdup(value);
+ ctx.qry.has_sha1 = 1;
} else if (!strcmp(name, "ofs")) {
- cgit_query_ofs = atoi(value);
+ ctx.qry.ofs = atoi(value);
} else if (!strcmp(name, "path")) {
- cgit_query_path = trim_end(value, '/');
+ ctx.qry.path = trim_end(value, '/');
} else if (!strcmp(name, "name")) {
- cgit_query_name = xstrdup(value);
+ ctx.qry.name = xstrdup(value);
}
diff --git a/ui-commit.c b/ui-commit.c
index bd55a33..3b0919b 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -77,3 +77,3 @@ void print_fileinfo(struct fileinfo *info)
htmlf("</td><td class='%s'>", class);
- cgit_diff_link(info->new_path, NULL, NULL, cgit_query_head, curr_rev,
+ cgit_diff_link(info->new_path, NULL, NULL, ctx.qry.head, curr_rev,
NULL, info->new_path);
@@ -145,3 +145,3 @@ void cgit_print_commit(char *hex)
if (!hex)
- hex = cgit_query_head;
+ hex = ctx.qry.head;
curr_rev = hex;
@@ -177,3 +177,3 @@ void cgit_print_commit(char *hex)
cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL,
- cgit_query_head, tmp, NULL);
+ ctx.qry.head, tmp, NULL);
html("</td></tr>\n");
@@ -190,5 +190,5 @@ void cgit_print_commit(char *hex)
cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL,
- cgit_query_head, sha1_to_hex(p->item->object.sha1));
+ ctx.qry.head, sha1_to_hex(p->item->object.sha1));
html(" (");
- cgit_diff_link("diff", NULL, NULL, cgit_query_head, hex,
+ cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex,
sha1_to_hex(p->item->object.sha1), NULL);
@@ -198,3 +198,3 @@ void cgit_print_commit(char *hex)
html("<tr><th>download</th><td colspan='2' class='sha1'>");
- cgit_print_snapshot_links(cgit_query_repo, cgit_query_head,
+ cgit_print_snapshot_links(ctx.qry.repo, ctx.qry.head,
hex, cgit_repo->snapshots);
@@ -220,3 +220,3 @@ void cgit_print_commit(char *hex)
files, total_adds, total_rems);
- cgit_diff_link("show diff", NULL, NULL, cgit_query_head, hex,
+ cgit_diff_link("show diff", NULL, NULL, ctx.qry.head, hex,
NULL, NULL);
diff --git a/ui-diff.c b/ui-diff.c
index 4fcf852..263a7ba 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -73,3 +73,3 @@ static void header(unsigned char *sha1, char *path1, int mode1,
if (mode1 != 0)
- cgit_tree_link(path1, NULL, NULL, cgit_query_head,
+ cgit_tree_link(path1, NULL, NULL, ctx.qry.head,
sha1_to_hex(old_rev_sha1), path1);
@@ -79,3 +79,3 @@ static void header(unsigned char *sha1, char *path1, int mode1,
if (mode2 != 0)
- cgit_tree_link(path2, NULL, NULL, cgit_query_head,
+ cgit_tree_link(path2, NULL, NULL, ctx.qry.head,
sha1_to_hex(new_rev_sha1), path2);
@@ -109,3 +109,3 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi
if (!new_rev)
- new_rev = cgit_query_head;
+ new_rev = ctx.qry.head;
get_sha1(new_rev, new_rev_sha1);
diff --git a/ui-log.c b/ui-log.c
index a41d2b2..a39474b 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -39,3 +39,3 @@ void print_commit(struct commit *commit)
html("</td><td>");
- cgit_commit_link(info->subject, NULL, NULL, cgit_query_head,
+ cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,
sha1_to_hex(commit->object.sha1));
@@ -69,3 +69,3 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
if (!tip)
- argv[1] = cgit_query_head;
+ argv[1] = ctx.qry.head;
@@ -125,6 +125,6 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
if (ofs > 0) {
- cgit_log_link("[prev]", NULL, NULL, cgit_query_head,
- cgit_query_sha1, cgit_query_path,
- ofs - cnt, cgit_query_grep,
- cgit_query_search);
+ cgit_log_link("[prev]", NULL, NULL, ctx.qry.head,
+ ctx.qry.sha1, ctx.qry.path,
+ ofs - cnt, ctx.qry.grep,
+ ctx.qry.search);
html("&nbsp;");
@@ -132,6 +132,6 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
if ((commit = get_revision(&rev)) != NULL) {
- cgit_log_link("[next]", NULL, NULL, cgit_query_head,
- cgit_query_sha1, cgit_query_path,
- ofs + cnt, cgit_query_grep,
- cgit_query_search);
+ cgit_log_link("[next]", NULL, NULL, ctx.qry.head,
+ ctx.qry.sha1, ctx.qry.path,
+ ofs + cnt, ctx.qry.grep,
+ ctx.qry.search);
}
diff --git a/ui-patch.c b/ui-patch.c
index e7a010a..1da0a27 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -78,3 +78,3 @@ void cgit_print_patch(char *hex, struct cacheitem *item)
if (!hex)
- hex = cgit_query_head;
+ hex = ctx.qry.head;
diff --git a/ui-refs.c b/ui-refs.c
index 295f5ba..ba513c1 100644
--- a/ui-refs.c
+++ b/ui-refs.c
@@ -18,5 +18,5 @@ void cgit_print_refs()
- if (cgit_query_path && !strncmp(cgit_query_path, "heads", 5))
+ if (ctx.qry.path && !strncmp(ctx.qry.path, "heads", 5))
cgit_print_branches(0);
- else if (cgit_query_path && !strncmp(cgit_query_path, "tags", 4))
+ else if (ctx.qry.path && !strncmp(ctx.qry.path, "tags", 4))
cgit_print_tags(0);
diff --git a/ui-shared.c b/ui-shared.c
index 60aa2e3..6a41fb0 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -114,6 +114,6 @@ char *cgit_currurl()
return cgit_script_name;
- else if (cgit_query_page)
- return fmt("%s/%s/%s/", cgit_virtual_root, cgit_query_repo, cgit_query_page);
- else if (cgit_query_repo)
- return fmt("%s/%s/", cgit_virtual_root, cgit_query_repo);
+ else if (ctx.qry.page)
+ return fmt("%s/%s/%s/", cgit_virtual_root, ctx.qry.repo, ctx.qry.page);
+ else if (ctx.qry.repo)
+ return fmt("%s/%s/", cgit_virtual_root, ctx.qry.repo);
else
@@ -181,3 +181,3 @@ static void reporevlink(char *page, char *name, char *title, char *class,
delim = repolink(title, class, page, head, path);
- if (rev && strcmp(rev, cgit_query_head)) {
+ if (rev && strcmp(rev, ctx.qry.head)) {
html(delim);
@@ -203,3 +203,3 @@ void cgit_log_link(char *name, char *title, char *class, char *head,
delim = repolink(title, class, "log", head, path);
- if (rev && strcmp(rev, cgit_query_head)) {
+ if (rev && strcmp(rev, ctx.qry.head)) {
html(delim);
@@ -258,3 +258,3 @@ void cgit_diff_link(char *name, char *title, char *class, char *head,
delim = repolink(title, class, "diff", head, path);
- if (new_rev && strcmp(new_rev, cgit_query_head)) {
+ if (new_rev && strcmp(new_rev, ctx.qry.head)) {
html(delim);
@@ -286,3 +286,3 @@ void cgit_object_link(struct object *obj)
cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
- cgit_query_head, sha1_to_hex(obj->sha1));
+ ctx.qry.head, sha1_to_hex(obj->sha1));
return;
@@ -299,3 +299,3 @@ void cgit_object_link(struct object *obj)
- url = cgit_pageurl(cgit_query_repo, page,
+ url = cgit_pageurl(ctx.qry.repo, page,
fmt("%s=%s", arg, sha1_to_hex(obj->sha1)));
@@ -394,3 +394,3 @@ int print_branch_option(const char *refname, const unsigned char *sha1,
char *name = (char *)refname;
- html_option(name, name, cgit_query_head);
+ html_option(name, name, ctx.qry.head);
return 0;
@@ -428,3 +428,3 @@ int print_archive_ref(const char *refname, const unsigned char *sha1,
}
- url = cgit_pageurl(cgit_query_repo, "blob",
+ url = cgit_pageurl(ctx.qry.repo, "blob",
fmt("id=%s&amp;path=%s", sha1_to_hex(fileid),
@@ -442,5 +442,5 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page)
if (!cgit_virtual_root) {
- url = fmt("%s/%s", cgit_query_repo, page);
- if (cgit_query_path)
- url = fmt("%s/%s", url, cgit_query_path);
+ url = fmt("%s/%s", ctx.qry.repo, page);
+ if (ctx.qry.path)
+ url = fmt("%s/%s", url, ctx.qry.path);
html_hidden("url", url);
@@ -448,15 +448,15 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page)
- if (incl_head && strcmp(cgit_query_head, cgit_repo->defbranch))
- html_hidden("h", cgit_query_head);
+ if (incl_head && strcmp(ctx.qry.head, cgit_repo->defbranch))
+ html_hidden("h", ctx.qry.head);
- if (cgit_query_sha1)
- html_hidden("id", cgit_query_sha1);
- if (cgit_query_sha2)
- html_hidden("id2", cgit_query_sha2);
+ if (ctx.qry.sha1)
+ html_hidden("id", ctx.qry.sha1);
+ if (ctx.qry.sha2)
+ html_hidden("id2", ctx.qry.sha2);
if (incl_search) {
- if (cgit_query_grep)
- html_hidden("qt", cgit_query_grep);
- if (cgit_query_search)
- html_hidden("q", cgit_query_search);
+ if (ctx.qry.grep)
+ html_hidden("qt", ctx.qry.grep);
+ if (ctx.qry.search)
+ html_hidden("q", ctx.qry.search);
}
@@ -478,3 +478,3 @@ void cgit_print_pageheader(char *title, int show_search)
html("</td></tr>\n<tr><td class='sidebar'>\n");
- if (cgit_query_repo) {
+ if (ctx.qry.repo) {
html("<h1 class='first'>");
@@ -488,14 +488,14 @@ void cgit_print_pageheader(char *title, int show_search)
html("<h1>navigate</h1>\n");
- reporevlink(NULL, "summary", NULL, "menu", cgit_query_head,
+ reporevlink(NULL, "summary", NULL, "menu", ctx.qry.head,
NULL, NULL);
- cgit_log_link("log", NULL, "menu", cgit_query_head, NULL, NULL,
+ cgit_log_link("log", NULL, "menu", ctx.qry.head, NULL, NULL,
0, NULL, NULL);
- cgit_tree_link("tree", NULL, "menu", cgit_query_head,
- cgit_query_sha1, NULL);
- cgit_commit_link("commit", NULL, "menu", cgit_query_head,
- cgit_query_sha1);
- cgit_diff_link("diff", NULL, "menu", cgit_query_head,
- cgit_query_sha1, cgit_query_sha2, NULL);
- cgit_patch_link("patch", NULL, "menu", cgit_query_head,
- cgit_query_sha1);
+ cgit_tree_link("tree", NULL, "menu", ctx.qry.head,
+ ctx.qry.sha1, NULL);
+ cgit_commit_link("commit", NULL, "menu", ctx.qry.head,
+ ctx.qry.sha1);
+ cgit_diff_link("diff", NULL, "menu", ctx.qry.head,
+ ctx.qry.sha1, ctx.qry.sha2, NULL);
+ cgit_patch_link("patch", NULL, "menu", ctx.qry.head,
+ ctx.qry.sha1);
@@ -521,6 +521,6 @@ void cgit_print_pageheader(char *title, int show_search)
html("<form method='get' action=''>\n");
- add_hidden_formfields(0, 1, cgit_query_page);
+ add_hidden_formfields(0, 1, ctx.qry.page);
// html("<table summary='branch selector' class='grid'><tr><td id='branch-dropdown-cell'>");
html("<select name='h' onchange='this.form.submit();'>\n");
- for_each_branch_ref(print_branch_option, cgit_query_head);
+ for_each_branch_ref(print_branch_option, ctx.qry.head);
html("</select>\n");
@@ -534,4 +534,4 @@ void cgit_print_pageheader(char *title, int show_search)
if (cgit_virtual_root)
- html_attr(cgit_fileurl(cgit_query_repo, "log",
- cgit_query_path, NULL));
+ html_attr(cgit_fileurl(ctx.qry.repo, "log",
+ ctx.qry.path, NULL));
html("'>\n");
@@ -539,8 +539,8 @@ void cgit_print_pageheader(char *title, int show_search)
html("<select name='qt'>\n");
- html_option("grep", "log msg", cgit_query_grep);
- html_option("author", "author", cgit_query_grep);
- html_option("committer", "committer", cgit_query_grep);
+ html_option("grep", "log msg", ctx.qry.grep);
+ html_option("author", "author", ctx.qry.grep);
+ html_option("committer", "committer", ctx.qry.grep);
html("</select>\n");
html("<input class='txt' type='text' name='q' value='");
- html_attr(cgit_query_search);
+ html_attr(ctx.qry.search);
html("'/>\n");
diff --git a/ui-summary.c b/ui-summary.c
index b96414e..bbd4464 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -96,3 +96,3 @@ static int print_tag(struct refinfo *ref)
html("<tr><td>");
- url = cgit_pageurl(cgit_query_repo, "tag",
+ url = cgit_pageurl(ctx.qry.repo, "tag",
fmt("id=%s", name));
@@ -125,3 +125,3 @@ static void print_refs_link(char *path)
html("<tr class='nohover'><td colspan='4'>");
- cgit_refs_link("[...]", NULL, NULL, cgit_query_head, NULL, path);
+ cgit_refs_link("[...]", NULL, NULL, ctx.qry.head, NULL, path);
html("</td></tr>");
@@ -190,3 +190,3 @@ void cgit_print_summary()
if (cgit_summary_log > 0)
- cgit_print_log(cgit_query_head, 0, cgit_summary_log, NULL,
+ cgit_print_log(ctx.qry.head, 0, cgit_summary_log, NULL,
NULL, NULL, 0);
diff --git a/ui-tree.c b/ui-tree.c
index c138877..7cae85a 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -36,3 +36,3 @@ static void print_object(const unsigned char *sha1, char *path)
html(" blob: <a href='");
- html_attr(cgit_pageurl(cgit_query_repo, "blob", fmt("id=%s", sha1_to_hex(sha1))));
+ html_attr(cgit_pageurl(ctx.qry.repo, "blob", fmt("id=%s", sha1_to_hex(sha1))));
htmlf("'>%s</a>",sha1_to_hex(sha1));
@@ -69,4 +69,4 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen,
name = xstrdup(pathname);
- fullpath = fmt("%s%s%s", cgit_query_path ? cgit_query_path : "",
- cgit_query_path ? "/" : "", name);
+ fullpath = fmt("%s%s%s", ctx.qry.path ? ctx.qry.path : "",
+ ctx.qry.path ? "/" : "", name);
@@ -92,6 +92,6 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen,
} else if (S_ISDIR(mode)) {
- cgit_tree_link(name, NULL, "ls-dir", cgit_query_head,
+ cgit_tree_link(name, NULL, "ls-dir", ctx.qry.head,
curr_rev, fullpath);
} else {
- cgit_tree_link(name, NULL, "ls-blob", cgit_query_head,
+ cgit_tree_link(name, NULL, "ls-blob", ctx.qry.head,
curr_rev, fullpath);
@@ -101,3 +101,3 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen,
html("<td>");
- cgit_log_link("log", NULL, "button", cgit_query_head, curr_rev,
+ cgit_log_link("log", NULL, "button", ctx.qry.head, curr_rev,
fullpath, 0, NULL, NULL);
@@ -155,6 +155,6 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
strcpy(buffer+baselen, pathname);
- url = cgit_pageurl(cgit_query_repo, "tree",
+ url = cgit_pageurl(ctx.qry.repo, "tree",
fmt("h=%s&amp;path=%s", curr_rev, buffer));
html("/");
- cgit_tree_link(xstrdup(pathname), NULL, NULL, cgit_query_head,
+ cgit_tree_link(xstrdup(pathname), NULL, NULL, ctx.qry.head,
curr_rev, buffer);
@@ -190,3 +190,3 @@ void cgit_print_tree(const char *rev, char *path)
if (!rev)
- rev = cgit_query_head;
+ rev = ctx.qry.head;
@@ -204,3 +204,3 @@ void cgit_print_tree(const char *rev, char *path)
html("path: <a href='");
- html_attr(cgit_pageurl(cgit_query_repo, "tree", fmt("h=%s", rev)));
+ html_attr(cgit_pageurl(ctx.qry.repo, "tree", fmt("h=%s", rev)));
html("'>root</a>");