summaryrefslogtreecommitdiffabout
path: root/cgit.c
Unidiff
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 38bc136..d4fcfa7 100644
--- a/cgit.c
+++ b/cgit.c
@@ -424,24 +424,30 @@ static void process_request(void *cbdata)
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