|
diff --git a/cgit.c b/cgit.c index 5816f3d..b0e1c44 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -526,33 +526,33 @@ int main(int argc, const char **argv) |
526 | |
526 | |
527 | /* If no url parameter is specified on the querystring, lets |
527 | /* If no url parameter is specified on the querystring, lets |
528 | * use PATH_INFO as url. This allows cgit to work with virtual |
528 | * use PATH_INFO as url. This allows cgit to work with virtual |
529 | * urls without the need for rewriterules in the webserver (as |
529 | * urls without the need for rewriterules in the webserver (as |
530 | * long as PATH_INFO is included in the cache lookup key). |
530 | * long as PATH_INFO is included in the cache lookup key). |
531 | */ |
531 | */ |
532 | path = ctx.env.path_info; |
532 | path = ctx.env.path_info; |
533 | if (!ctx.qry.url && path) { |
533 | if (!ctx.qry.url && path) { |
534 | if (path[0] == '/') |
534 | if (path[0] == '/') |
535 | path++; |
535 | path++; |
536 | ctx.qry.url = xstrdup(path); |
536 | ctx.qry.url = xstrdup(path); |
537 | if (ctx.qry.raw) { |
537 | if (ctx.qry.raw) { |
538 | qry = ctx.qry.raw; |
538 | qry = ctx.qry.raw; |
539 | ctx.qry.raw = xstrdup(fmt("%s?%s", path, qry)); |
539 | ctx.qry.raw = xstrdup(fmt("%s?%s", path, qry)); |
540 | free(qry); |
540 | free(qry); |
541 | } else |
541 | } else |
542 | ctx.qry.raw = ctx.qry.url; |
542 | ctx.qry.raw = xstrdup(ctx.qry.url); |
543 | cgit_parse_url(ctx.qry.url); |
543 | cgit_parse_url(ctx.qry.url); |
544 | } |
544 | } |
545 | |
545 | |
546 | ttl = calc_ttl(); |
546 | ttl = calc_ttl(); |
547 | ctx.page.expires += ttl*60; |
547 | ctx.page.expires += ttl*60; |
548 | if (ctx.env.request_method && !strcmp(ctx.env.request_method, "HEAD")) |
548 | if (ctx.env.request_method && !strcmp(ctx.env.request_method, "HEAD")) |
549 | ctx.cfg.nocache = 1; |
549 | ctx.cfg.nocache = 1; |
550 | if (ctx.cfg.nocache) |
550 | if (ctx.cfg.nocache) |
551 | ctx.cfg.cache_size = 0; |
551 | ctx.cfg.cache_size = 0; |
552 | err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, |
552 | err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, |
553 | ctx.qry.raw, ttl, process_request, &ctx); |
553 | ctx.qry.raw, ttl, process_request, &ctx); |
554 | if (err) |
554 | if (err) |
555 | cgit_print_error(fmt("Error processing page: %s (%d)", |
555 | cgit_print_error(fmt("Error processing page: %s (%d)", |
556 | strerror(err), err)); |
556 | strerror(err), err)); |
557 | return err; |
557 | return err; |
558 | } |
558 | } |
|