summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--url.c7
-rw-r--r--url.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/url.c b/url.c
index 7cebc6471b..6a5495960f 100644
--- a/url.c
+++ b/url.c
@@ -132,3 +132,10 @@ 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);
+ free(*dest);
+ *dest = strbuf_detach(&buf, NULL);
+}
diff --git a/url.h b/url.h
index 8cb74d4a0a..7100e3215a 100644
--- a/url.h
+++ b/url.h
@@ -8,5 +8,6 @@ extern char *url_decode_parameter_name(const char **query);
extern char *url_decode_parameter_value(const char **query);
extern void end_url_with_slash(struct strbuf *buf, const char *url);
+extern void str_end_url_with_slash(const char *url, char **dest);
#endif /* URL_H */