Tay Ray Chuan wrote:
quoted hunk
--- a/url.c
+++ b/url.c
@@ -132,3 +132,11 @@ void end_url_with_slash(struct strbuf *buf, const char *url)
if (buf->len && buf->buf[buf->len - 1] != '/')
strbuf_addstr(buf, "/");
}
+
+void str_end_url_with_slash(const char *url, char **dest) {
+ struct strbuf buf = STRBUF_INIT;
+ end_url_with_slash(&buf, url);
+ if (dest)
+ free(*dest);
+ *dest = strbuf_detach(&buf, NULL);
I think this should be
end_url_with_slash(&buf, url);
free(*dest);
*dest = strbuf_detach(...
If dest were NULL, the assignment would segfault anyway. If dest were
non-NULL and *dest NULL, the free() would be a no-op.