summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-04-07 14:03:47 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2013-04-08 16:10:11 +0200
commitd2e20e38141c882e46eaa77f172fc2ae37a19d3b (patch)
tree1a1b7ee0bc3c0d6eb9c82f083866d6cfc56af491
parentfd00d2f9d6088223f57006949dc6ce7c36316a79 (diff)
downloadcgit-d2e20e38141c882e46eaa77f172fc2ae37a19d3b.tar.gz
cgit-d2e20e38141c882e46eaa77f172fc2ae37a19d3b.tar.bz2
shared.c: add strbuf_ensure_end
This is a small helper so that we can easily ensure that a strbuf ends with the specified character. Signed-off-by: John Keeping <john@keeping.me.uk>
-rw-r--r--cgit.h2
-rw-r--r--shared.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index 7619cbb..3e9d55b 100644
--- a/cgit.h
+++ b/cgit.h
@@ -304,6 +304,8 @@ extern char *ensure_end(const char *str, char c);
extern char *strlpart(char *txt, int maxlen);
extern char *strrpart(char *txt, int maxlen);
+extern void strbuf_ensure_end(struct strbuf *sb, char c);
+
extern void cgit_add_ref(struct reflist *list, struct refinfo *ref);
extern void cgit_free_reflist_inner(struct reflist *list);
extern int cgit_refs_cb(const char *refname, const unsigned char *sha1,
diff --git a/shared.c b/shared.c
index 1fa9c99..10be355 100644
--- a/shared.c
+++ b/shared.c
@@ -130,6 +130,12 @@ char *ensure_end(const char *str, char c)
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;