about summary refs log tree commit diff stats
path: root/cmd.c
diff options
context:
space:
mode:
authorJason A. Donenfeld2015-08-14 15:54:32 +0200
committerJason A. Donenfeld2015-08-14 15:54:32 +0200
commit03de473354dc8c17a3b23a973b5cc67752ad20cb (patch)
tree9ec8e24b626018876eb266c24464ff2e0ae0dde1 /cmd.c
parentui-shared: cache errors for "dynamic TTL" (diff)
downloadcgit-03de473354dc8c17a3b23a973b5cc67752ad20cb.tar.gz
cgit-03de473354dc8c17a3b23a973b5cc67752ad20cb.zip
cmd: no need for pre function hook now
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'cmd.c')
-rw-r--r--cmd.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/cmd.c b/cmd.c index 05494fe..20c80b0 100644 --- a/cmd.c +++ b/cmd.c
@@ -38,21 +38,17 @@ static void atom_fn(void)
38 38
39static void about_fn(void) 39static void about_fn(void)
40{ 40{
41 if (ctx.repo) 41 if (ctx.repo) {
42 cgit_print_repo_readme(ctx.qry.path); 42 if (!ctx.qry.path &&
43 else 43 ctx.qry.url[strlen(ctx.qry.url) - 1] != '/' &&
44 ctx.env.path_info[strlen(ctx.env.path_info) - 1] != '/')
45 cgit_redirect(fmtalloc("%s/", cgit_currenturl()), true);
46 else
47 cgit_print_repo_readme(ctx.qry.path);
48 } else
44 cgit_print_site_readme(); 49 cgit_print_site_readme();
45} 50}
46 51
47static void about_pre(void)
48{
49 if (ctx.repo &&
50 !ctx.qry.path &&
51 ctx.qry.url[strlen(ctx.qry.url) - 1] != '/' &&
52 ctx.env.path_info[strlen(ctx.env.path_info) - 1] != '/')
53 cgit_redirect(fmtalloc("%s/", cgit_currenturl()), true);
54}
55
56static void blob_fn(void) 52static void blob_fn(void)
57{ 53{
58 cgit_print_blob(ctx.qry.sha1, ctx.qry.path, ctx.qry.head, 0); 54 cgit_print_blob(ctx.qry.sha1, ctx.qry.path, ctx.qry.head, 0);
@@ -145,8 +141,6 @@ static void tree_fn(void)
145 cgit_print_tree(ctx.qry.sha1, ctx.qry.path); 141 cgit_print_tree(ctx.qry.sha1, ctx.qry.path);
146} 142}
147 143
148#define def_cmp(name, want_repo, want_vpath, is_clone) \
149 {#name, name##_fn, name##_pre, want_repo, want_vpath, is_clone}
150#define def_cmd(name, want_repo, want_vpath, is_clone) \ 144#define def_cmd(name, want_repo, want_vpath, is_clone) \
151 {#name, name##_fn, NULL, want_repo, want_vpath, is_clone} 145 {#name, name##_fn, NULL, want_repo, want_vpath, is_clone}
152 146
@@ -155,7 +149,7 @@ struct cgit_cmd *cgit_get_cmd(void)
155 static struct cgit_cmd cmds[] = { 149 static struct cgit_cmd cmds[] = {
156 def_cmd(HEAD, 1, 0, 1), 150 def_cmd(HEAD, 1, 0, 1),
157 def_cmd(atom, 1, 0, 0), 151 def_cmd(atom, 1, 0, 0),
158 def_cmp(about, 0, 0, 0), 152 def_cmd(about, 0, 0, 0),
159 def_cmd(blob, 1, 0, 0), 153 def_cmd(blob, 1, 0, 0),
160 def_cmd(commit, 1, 1, 0), 154 def_cmd(commit, 1, 1, 0),
161 def_cmd(diff, 1, 1, 0), 155 def_cmd(diff, 1, 1, 0),