Diff options
| -rw-r--r-- | source/shared.c | 10 |
1 file changed, 1 insertion, 9 deletions
diff --git a/source/shared.c b/source/shared.c index 86a2cf6..18de072 100644 --- a/source/shared.c +++ b/source/shared.c @@ -271,16 +271,8 @@ char *cgit_trim_end(const char *str, char c) char *cgit_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] = c; - result[len + 1] = '\0'; - return result; + return len && str[len - 1] == c ? xstrdup(str) : xstrfmt("%s%c", str, c); } void strbuf_ensure_end(struct strbuf *sb, char c) |
