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>
diff --git a/shared.c b/shared.c
index 1fa9c99..10be355 100644
--- a/shared.c
+++ b/shared.c
@@ -130,6 +130,12 @@
 	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;