Author: John Keeping <john@keeping.me.uk>
cgit: don't set vpath unless repo is set After the previous two patches, this can be classified as a tidy up rather than a bug fix, but I think it makes sense to group all of the tests together before setting up the environment for the command to execute. Signed-off-by: John Keeping <john@keeping.me.uk>
cgit.c | 12 ++++++------
diff --git a/cgit.c b/cgit.c index 1075753e15b4de5672aa8445fcc86ef4e7079a92..1dae4b8c39cf9e915f1375400c74ae392d1515e8 100644 --- a/cgit.c +++ b/cgit.c @@ -726,17 +726,17 @@ cgit_print_error_page(404, "Not found", "Invalid request"); return; } - /* If cmd->want_vpath is set, assume ctx.qry.path contains a "virtual" - * in-project path limit to be made available at ctx.qry.vpath. - * Otherwise, no path limit is in effect (ctx.qry.vpath = NULL). - */ - ctx.qry.vpath = cmd->want_vpath ? ctx.qry.path : NULL; - if (cmd->want_repo && !ctx.repo) { cgit_print_error_page(400, "Bad request", "No repository selected"); return; } + + /* If cmd->want_vpath is set, assume ctx.qry.path contains a "virtual" + * in-project path limit to be made available at ctx.qry.vpath. + * Otherwise, no path limit is in effect (ctx.qry.vpath = NULL). + */ + ctx.qry.vpath = cmd->want_vpath ? ctx.qry.path : NULL; if (ctx.repo && prepare_repo_cmd()) return;