diff options
-rw-r--r-- | cgit.c | 1 | ||||
-rw-r--r-- | ui-shared.c | 7 |
2 files changed, 6 insertions, 2 deletions
@@ -289,7 +289,6 @@ static void process_request(void *cbdata) | |||
289 | cmd = cgit_get_cmd(ctx); | 289 | cmd = cgit_get_cmd(ctx); |
290 | if (!cmd) { | 290 | if (!cmd) { |
291 | ctx->page.title = "cgit error"; | 291 | ctx->page.title = "cgit error"; |
292 | ctx->repo = NULL; | ||
293 | cgit_print_http_headers(ctx); | 292 | cgit_print_http_headers(ctx); |
294 | cgit_print_docstart(ctx); | 293 | cgit_print_docstart(ctx); |
295 | cgit_print_pageheader(ctx); | 294 | cgit_print_pageheader(ctx); |
diff --git a/ui-shared.c b/ui-shared.c index 224e5f3..76cd00d 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -577,15 +577,20 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page) | |||
577 | } | 577 | } |
578 | } | 578 | } |
579 | 579 | ||
580 | const char *fallback_cmd = "repolist"; | ||
581 | |||
580 | char *hc(struct cgit_cmd *cmd, const char *page) | 582 | char *hc(struct cgit_cmd *cmd, const char *page) |
581 | { | 583 | { |
582 | return (strcmp(cmd->name, page) ? NULL : "active"); | 584 | return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active"); |
583 | } | 585 | } |
584 | 586 | ||
585 | void cgit_print_pageheader(struct cgit_context *ctx) | 587 | void cgit_print_pageheader(struct cgit_context *ctx) |
586 | { | 588 | { |
587 | struct cgit_cmd *cmd = cgit_get_cmd(ctx); | 589 | struct cgit_cmd *cmd = cgit_get_cmd(ctx); |
588 | 590 | ||
591 | if (!cmd && ctx->repo) | ||
592 | fallback_cmd = "summary"; | ||
593 | |||
589 | html("<table id='header'>\n"); | 594 | html("<table id='header'>\n"); |
590 | html("<tr>\n"); | 595 | html("<tr>\n"); |
591 | html("<td class='logo' rowspan='2'><a href='"); | 596 | html("<td class='logo' rowspan='2'><a href='"); |