about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--shared.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/shared.c b/shared.c
index 7ec2e19..3926b4a 100644
--- a/shared.c
+++ b/shared.c
@@ -100,23 +100,15 @@ void *cgit_free_commitinfo(struct commitinfo *info)
 char *trim_end(const char *str, char c)
 {
 	int len;
-	char *s, *t;
 
 	if (str == NULL)
 		return NULL;
-	t = (char *)str;
-	len = strlen(t);
-	while(len > 0 && t[len - 1] == c)
+	len = strlen(str);
+	while(len > 0 && str[len - 1] == c)
 		len--;
-
 	if (len == 0)
 		return NULL;
-
-	c = t[len];
-	t[len] = '\0';
-	s = xstrdup(t);
-	t[len] = c;
-	return s;
+	return xstrndup(str, len);
 }
 
 char *strlpart(char *txt, int maxlen)