diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2008-04-29 01:01:30 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-29 01:01:30 +0200 | 
| commit | 651ef79768dde30aabc61189974c9047ee43752f (patch) | |
| tree | c01edea9d585784a50c2335c1ddfb36944cba889 | |
| parent | 4c9916043d6aabb8278e0d78f5fa71a59f82889d (diff) | |
| download | cgit-651ef79768dde30aabc61189974c9047ee43752f.tar.gz cgit-651ef79768dde30aabc61189974c9047ee43752f.tar.bz2 cgit-651ef79768dde30aabc61189974c9047ee43752f.zip | |
Make it possible for a single cmd to work both with and without a repo
When cgit_cmd.want_repo was 0, we used to assume that the cmd would never
be invoked for a repo. But soon this will become untrue (the 'about' cmd
is rapidly approching), so from now on we will initialize any requested
repo even if want_repo==0 (and return an error if want_repo==1 but no repo
is specified).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| -rw-r--r-- | cgit.c | 11 | 
1 files changed, 10 insertions, 1 deletions
| @@ -307,7 +307,16 @@ static void process_request(struct cgit_context *ctx)  		return;  	} -	if (cmd->want_repo && prepare_repo_cmd(ctx)) +	if (cmd->want_repo && !ctx->repo) { +		cgit_print_http_headers(ctx); +		cgit_print_docstart(ctx); +		cgit_print_pageheader(ctx); +		cgit_print_error(fmt("No repository selected")); +		cgit_print_docend(); +		return; +	} + +	if (ctx->repo && prepare_repo_cmd(ctx))  		return;  	if (cmd->want_layout) { | 
