-rw-r--r-- | cmd.c | 3 | ||||
-rw-r--r-- | ui-snapshot.c | 14 | ||||
-rw-r--r-- | ui-snapshot.h | 3 |
3 files changed, 14 insertions, 6 deletions
@@ -106,4 +106,3 @@ static void snapshot_fn(struct cgit_context *ctx) | |||
106 | { | 106 | { |
107 | cgit_print_snapshot(ctx->qry.head, ctx->qry.sha1, | 107 | cgit_print_snapshot(ctx->qry.head, ctx->qry.sha1, ctx->qry.path, |
108 | cgit_repobasename(ctx->repo->url), ctx->qry.path, | ||
109 | ctx->repo->snapshots, ctx->qry.nohead); | 108 | ctx->repo->snapshots, ctx->qry.nohead); |
diff --git a/ui-snapshot.c b/ui-snapshot.c index 9c4d086..76457d6 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c | |||
@@ -164,3 +164,3 @@ static const char *get_ref_from_filename(const char *url, const char *filename, | |||
164 | 164 | ||
165 | void cgit_print_snapshot(const char *head, const char *hex, const char *prefix, | 165 | void cgit_print_snapshot(const char *head, const char *hex, |
166 | const char *filename, int snapshots, int dwim) | 166 | const char *filename, int snapshots, int dwim) |
@@ -168,2 +168,3 @@ void cgit_print_snapshot(const char *head, const char *hex, const char *prefix, | |||
168 | const struct cgit_snapshot_format* f; | 168 | const struct cgit_snapshot_format* f; |
169 | char *prefix = NULL; | ||
169 | 170 | ||
@@ -180,4 +181,9 @@ void cgit_print_snapshot(const char *head, const char *hex, const char *prefix, | |||
180 | 181 | ||
181 | if (!hex && dwim) | 182 | if (!hex && dwim) { |
182 | hex = get_ref_from_filename(ctx.repo->url, filename, f); | 183 | hex = get_ref_from_filename(ctx.repo->url, filename, f); |
184 | if (hex != NULL) { | ||
185 | prefix = xstrdup(filename); | ||
186 | prefix[strlen(filename) - strlen(f->suffix)] = '\0'; | ||
187 | } | ||
188 | } | ||
183 | 189 | ||
@@ -186,3 +192,7 @@ void cgit_print_snapshot(const char *head, const char *hex, const char *prefix, | |||
186 | 192 | ||
193 | if (!prefix) | ||
194 | prefix = xstrdup(cgit_repobasename(ctx.repo->url)); | ||
195 | |||
187 | make_snapshot(f, hex, prefix, filename); | 196 | make_snapshot(f, hex, prefix, filename); |
197 | free(prefix); | ||
188 | } | 198 | } |
diff --git a/ui-snapshot.h b/ui-snapshot.h index 3540303..b6ede52 100644 --- a/ui-snapshot.h +++ b/ui-snapshot.h | |||
@@ -4,4 +4,3 @@ | |||
4 | extern void cgit_print_snapshot(const char *head, const char *hex, | 4 | extern void cgit_print_snapshot(const char *head, const char *hex, |
5 | const char *prefix, const char *filename, | 5 | const char *filename, int snapshot, int dwim); |
6 | int snapshot, int dwim); | ||
7 | 6 | ||