X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/1268afe83692cb8a9ea839ab979d82458da2d03d..81bf4d32b377d3f2fdd7ab3ca651be99408f5c32:/shared.c diff --git a/shared.c b/shared.c index cc06930..4369378 100644 --- a/shared.c +++ b/shared.c @@ -63,6 +63,7 @@ struct cgit_repo *cgit_add_repo(const char *url) ret->enable_remote_branches = ctx.cfg.enable_remote_branches; ret->enable_subject_links = ctx.cfg.enable_subject_links; ret->max_stats = ctx.cfg.max_stats; + ret->branch_sort = ctx.cfg.branch_sort; ret->commit_sort = ctx.cfg.commit_sort; ret->module_link = ctx.cfg.module_link; ret->readme = ctx.cfg.readme; @@ -115,6 +116,27 @@ char *trim_end(const char *str, char c) return xstrndup(str, len); } +char *ensure_end(const char *str, char c) +{ + size_t len = strlen(str); + char *result; + + if (len && str[len - 1] == c) + return xstrndup(str, len); + + result = xmalloc(len + 2); + memcpy(result, str, len); + result[len] = '/'; + result[len + 1] = '\0'; + return result; +} + +void strbuf_ensure_end(struct strbuf *sb, char c) +{ + if (!sb->len || sb->buf[sb->len - 1] != c) + strbuf_addch(sb, c); +} + char *strlpart(char *txt, int maxlen) { char *result;