diff options
| -rw-r--r-- | cgit.c | 2 | ||||
| -rw-r--r-- | cgit.h | 2 | ||||
| -rw-r--r-- | ui-shared.c | 2 | 
3 files changed, 6 insertions, 0 deletions
| @@ -285,6 +285,8 @@ static int prepare_repo_cmd(struct cgit_context *ctx)  	if (get_sha1(ctx->qry.head, sha1)) {  		tmp = xstrdup(ctx->qry.head);  		ctx->qry.head = ctx->repo->defbranch; +		ctx->page.status = 404; +		ctx->page.statusmsg = "not found";  		cgit_print_http_headers(ctx);  		cgit_print_docstart(ctx);  		cgit_print_pageheader(ctx); @@ -181,6 +181,8 @@ struct cgit_page {  	char *charset;  	char *filename;  	char *title; +	int status; +	char *statusmsg;  };  struct cgit_context { diff --git a/ui-shared.c b/ui-shared.c index de77bbf..2630f23 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -456,6 +456,8 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)  void cgit_print_http_headers(struct cgit_context *ctx)  { +	if (ctx->page.status) +		htmlf("Status: %d %s\n", ctx->page.status, ctx->page.statusmsg);  	if (ctx->page.mimetype && ctx->page.charset)  		htmlf("Content-Type: %s; charset=%s\n", ctx->page.mimetype,  		      ctx->page.charset); | 
