]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-shared.c
ui-shared: Simplify cgit_print_error_page() logic
[ps-cgit] / ui-shared.c
index 03dcc0892626962300bb752b4a91083e23ce5041..bf927478572a999c17ec163289e937eb77d4e421 100644 (file)
@@ -702,7 +702,6 @@ void cgit_redirect(const char *url, bool permanent)
        html("Location: ");
        html_url_path(url);
        html("\n\n");
-       exit(0);
 }
 
 static void print_rel_vcs_link(const char *url)
@@ -793,13 +792,11 @@ void cgit_print_error_page(int code, const char *msg, const char *fmt, ...)
        ctx.page.expires = ctx.cfg.cache_dynamic_ttl;
        ctx.page.status = code;
        ctx.page.statusmsg = msg;
-       cgit_print_http_headers();
-       cgit_print_docstart();
-       cgit_print_pageheader();
+       cgit_print_layout_start();
        va_start(ap, fmt);
        cgit_vprint_error(fmt, ap);
        va_end(ap);
-       cgit_print_docend();
+       cgit_print_layout_end();
 }
 
 void cgit_print_layout_start(void)
@@ -997,6 +994,11 @@ void cgit_print_pageheader(void)
                if (ctx.repo->max_stats)
                        cgit_stats_link("stats", NULL, hc("stats"),
                                        ctx.qry.head, ctx.qry.vpath);
+               if (ctx.repo->homepage) {
+                       html("<a href='");
+                       html_attr(ctx.repo->homepage);
+                       html("'>homepage</a>");
+               }
                html("</td><td class='form'>");
                html("<form class='right' method='get' action='");
                if (ctx.cfg.virtual_root) {