ui-shared: Replace ctx.qry.path with ctx.qry.vpath

In all cases where ui-shared uses ctx.qry.path, it is done so in the context
of a in-project path, and not in the context in which the 'refs' page or the
'clone'-related functionality uses ctx.qry.path. Make this explicit by using
ctx.qry.vpath instead.

This path introduces no fundamental difference in functionality except for
fixing some minor bugs, for example the Atom feed reference from a
"$repo/refs/heads/" page.

Note that the usage of ctx.qry.path in the other ui-<page>.c files is ok,
since that code presumably is only executed in the context of its own <page>,
so the correct interpretation of ctx.qry.path is never in question.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Johan Herland 2010-06-10 01:09:27 +02:00 committed by Lars Hjemli
parent 0ff143df70
commit c8e3295469

View File

@ -534,7 +534,7 @@ void cgit_print_docstart(struct cgit_context *ctx)
html("<link rel='alternate' title='Atom feed' href='");
html(cgit_httpscheme());
html_attr(cgit_hosturl());
html_attr(cgit_fileurl(ctx->repo->url, "atom", ctx->qry.path,
html_attr(cgit_fileurl(ctx->repo->url, "atom", ctx->qry.vpath,
fmt("h=%s", ctx->qry.head)));
html("' type='application/atom+xml'/>\n");
}
@ -621,8 +621,8 @@ void cgit_add_hidden_formfields(int incl_head, int incl_search,
if (!ctx.cfg.virtual_root) {
url = fmt("%s/%s", ctx.qry.repo, page);
if (ctx.qry.path)
url = fmt("%s/%s", url, ctx.qry.path);
if (ctx.qry.vpath)
url = fmt("%s/%s", url, ctx.qry.vpath);
html_hidden("url", url);
}
@ -728,7 +728,7 @@ void cgit_print_pageheader(struct cgit_context *ctx)
html("<form class='right' method='get' action='");
if (ctx->cfg.virtual_root)
html_url_path(cgit_fileurl(ctx->qry.repo, "log",
ctx->qry.path, NULL));
ctx->qry.vpath, NULL));
html("'>\n");
cgit_add_hidden_formfields(1, 0, "log");
html("<select name='qt'>\n");