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>
Αυτή η υποβολή περιλαμβάνεται σε:
Johan Herland 2010-06-10 01:09:27 +02:00 υποβλήθηκε από Lars Hjemli
γονέας 0ff143df70
υποβολή c8e3295469

@ -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");