summaryrefslogtreecommitdiff
path: root/strbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'strbuf.c')
-rw-r--r--strbuf.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/strbuf.c b/strbuf.c
index 1170d01c43..4d31567a1a 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -1,22 +1,22 @@
#include "cache.h"
#include "refs.h"
-int prefixcmp(const char *str, const char *prefix)
+int starts_with(const char *str, const char *prefix)
{
for (; ; str++, prefix++)
if (!*prefix)
- return 0;
+ return 1;
else if (*str != *prefix)
- return (unsigned char)*prefix - (unsigned char)*str;
+ return 0;
}
-int suffixcmp(const char *str, const char *suffix)
+int ends_with(const char *str, const char *suffix)
{
int len = strlen(str), suflen = strlen(suffix);
if (len < suflen)
- return -1;
+ return 0;
else
- return strcmp(str + len - suflen, suffix);
+ return !strcmp(str + len - suflen, suffix);
}
/*
@@ -78,15 +78,8 @@ void strbuf_grow(struct strbuf *sb, size_t extra)
void strbuf_trim(struct strbuf *sb)
{
- char *b = sb->buf;
- while (sb->len > 0 && isspace((unsigned char)sb->buf[sb->len - 1]))
- sb->len--;
- while (sb->len > 0 && isspace(*b)) {
- b++;
- sb->len--;
- }
- memmove(sb->buf, b, sb->len);
- sb->buf[sb->len] = '\0';
+ strbuf_rtrim(sb);
+ strbuf_ltrim(sb);
}
void strbuf_rtrim(struct strbuf *sb)
{