|
diff --git a/cgit.c b/cgit.c index 38bc136..d4fcfa7 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -420,32 +420,38 @@ static int prepare_repo_cmd(struct cgit_context *ctx) |
420 | static void process_request(void *cbdata) |
420 | static void process_request(void *cbdata) |
421 | { |
421 | { |
422 | struct cgit_context *ctx = cbdata; |
422 | struct cgit_context *ctx = cbdata; |
423 | struct cgit_cmd *cmd; |
423 | struct cgit_cmd *cmd; |
424 | |
424 | |
425 | cmd = cgit_get_cmd(ctx); |
425 | cmd = cgit_get_cmd(ctx); |
426 | if (!cmd) { |
426 | if (!cmd) { |
427 | ctx->page.title = "cgit error"; |
427 | ctx->page.title = "cgit error"; |
428 | cgit_print_http_headers(ctx); |
428 | cgit_print_http_headers(ctx); |
429 | cgit_print_docstart(ctx); |
429 | cgit_print_docstart(ctx); |
430 | cgit_print_pageheader(ctx); |
430 | cgit_print_pageheader(ctx); |
431 | cgit_print_error("Invalid request"); |
431 | cgit_print_error("Invalid request"); |
432 | cgit_print_docend(); |
432 | cgit_print_docend(); |
433 | return; |
433 | return; |
434 | } |
434 | } |
435 | |
435 | |
| |
436 | /* If cmd->want_vpath is set, assume ctx->qry.path contains a "virtual" |
| |
437 | * in-project path limit to be made available at ctx->qry.vpath. |
| |
438 | * Otherwise, no path limit is in effect (ctx->qry.vpath = NULL). |
| |
439 | */ |
| |
440 | ctx->qry.vpath = cmd->want_vpath ? ctx->qry.path : NULL; |
| |
441 | |
436 | if (cmd->want_repo && !ctx->repo) { |
442 | if (cmd->want_repo && !ctx->repo) { |
437 | cgit_print_http_headers(ctx); |
443 | cgit_print_http_headers(ctx); |
438 | cgit_print_docstart(ctx); |
444 | cgit_print_docstart(ctx); |
439 | cgit_print_pageheader(ctx); |
445 | cgit_print_pageheader(ctx); |
440 | cgit_print_error(fmt("No repository selected")); |
446 | cgit_print_error(fmt("No repository selected")); |
441 | cgit_print_docend(); |
447 | cgit_print_docend(); |
442 | return; |
448 | return; |
443 | } |
449 | } |
444 | |
450 | |
445 | if (ctx->repo && prepare_repo_cmd(ctx)) |
451 | if (ctx->repo && prepare_repo_cmd(ctx)) |
446 | return; |
452 | return; |
447 | |
453 | |
448 | if (cmd->want_layout) { |
454 | if (cmd->want_layout) { |
449 | cgit_print_http_headers(ctx); |
455 | cgit_print_http_headers(ctx); |
450 | cgit_print_docstart(ctx); |
456 | cgit_print_docstart(ctx); |
451 | cgit_print_pageheader(ctx); |
457 | cgit_print_pageheader(ctx); |
|