all repos — cgit @ d2e20e38141c882e46eaa77f172fc2ae37a19d3b

a hyperfast web frontend for git written in c

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>
John Keeping john@keeping.me.uk
Sun, 07 Apr 2013 14:03:47 +0100
commit

d2e20e38141c882e46eaa77f172fc2ae37a19d3b

parent

fd00d2f9d6088223f57006949dc6ce7c36316a79

2 files changed, 8 insertions(+), 0 deletions(-)

jump to
M cgit.hcgit.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,
M shared.cshared.c

@@ -130,6 +130,12 @@ result[len + 1] = '\0';

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;