Diff options
| author | Bryce Kwon <bryce@brycekwon.com> | |
|---|---|---|
| committer | Bryce Kwon <bryce@brycekwon.com> | |
| commit | ||
| parent | ||
| tree | ||
| download | ||
Move cgit.c's own helpers out of shared.c
Diffstat (limited to '')
| -rw-r--r-- | source/shared.c | 68 |
1 file changed, 0 insertions, 68 deletions
diff --git a/source/shared.c b/source/shared.c index 5c5e65c..72ec2d1 100644 --- a/source/shared.c +++ b/source/shared.c @@ -204,13 +204,6 @@ char *cgit_trim_end(const char *str, char c) return xstrndup(str, len); } -char *cgit_ensure_end(const char *str, char c) -{ - size_t len = strlen(str); - - return len && str[len - 1] == c ? xstrdup(str) : xstrfmt("%s%c", str, c); -} - void strbuf_ensure_end(struct strbuf *sb, char c) { if (!sb->len || sb->buf[sb->len - 1] != c) @@ -366,67 +359,6 @@ void cgit_diff_commit(struct commit *commit, filepair_fn fn, const char *prefix) cgit_diff_tree(old_oid, &commit->object.oid, fn, prefix, ctx.qry.ignorews); } -/* - * Git's parse_date_format dies on anything unknown, which would turn a - * cgitrc typo into a failed request, so only documented formats reach it. - */ -void cgit_parse_date_format(const char *format, struct date_mode *mode) -{ - static const char * const names[] = { - "default", "human", "iso", "iso-strict", "iso8601", - "iso8601-strict", "raw", "relative", "rfc", - "rfc2822", "short", "unix", - }; - const char *rest; - size_t i; - - if (skip_prefix(format, "format:", &rest)) { - // An empty strftime format would render every date blank. - if (*rest) - parse_date_format(format, mode); - return; - } - - // git reads local only as a whole alias of default-local, and dies on - // it with a suffix of its own. - if (!strcmp(format, "local")) { - parse_date_format(format, mode); - return; - } - - for (i = 0; i < ARRAY_SIZE(names); i++) { - if (!skip_prefix(format, names[i], &rest)) - continue; - // "iso" also prefixes "iso8601", so a partial hit is skipped. - if (*rest && strcmp(rest, "-local")) - continue; - parse_date_format(format, mode); - return; - } -} - -void cgit_prepare_repo_env(struct cgit_repo *repo) -{ - const struct { - const char *name; - const char *value; - } vars[] = { - { .name = "CGIT_REPO_URL", .value = repo->url }, - { .name = "CGIT_REPO_NAME", .value = repo->name }, - { .name = "CGIT_REPO_PATH", .value = repo->path }, - { .name = "CGIT_REPO_OWNER", .value = repo->owner }, - { .name = "CGIT_REPO_DEFBRANCH", .value = repo->defbranch }, - { .name = "CGIT_REPO_SECTION", .value = repo->section }, - { .name = "CGIT_REPO_CLONE_URL", .value = repo->clone_url } - }; - size_t i; - - for (i = 0; i < ARRAY_SIZE(vars); i++) - if (vars[i].value && setenv(vars[i].name, vars[i].value, 1)) - fprintf(stderr, "[cgit] Unable to set %s=%s: %s (%d)\n", - vars[i].name, vars[i].value, strerror(errno), errno); -} - int cgit_read_first_line(const char *path, char **buf) { int fd, err; |
