]> git.cameronkatri.com Git - cgit.git/commitdiff
shared.c: add strbuf_ensure_end
authorJohn Keeping <john@keeping.me.uk>
Sun, 7 Apr 2013 13:03:47 +0000 (14:03 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 8 Apr 2013 14:10:11 +0000 (16:10 +0200)
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>
cgit.h
shared.c

diff --git a/cgit.h b/cgit.h
index 7619cbb22f22d4a24e37448429778980d45e930c..3e9d55bec6418ceac8e768ba919b3d66b91dd209 100644 (file)
--- 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,
index 1fa9c99d5d8cc699e537d39bb1d38428383b941b..10be35504dd7f110ef2f6db08dd47da08b81424e 100644 (file)
--- 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;