@matheusbsbs / matheus-bagliano / commits / 800324c3ad
Fork 0

http.c: don't assume that urls don't end with slash

Make append_remote_object_url() (and by implication, get_remote_object_url) use end_url_with_slash() to ensure that the url ends with a slash. Previously, they assumed that the url did not end with a slash and as a result appended a slash, sometimes errorneously. This fixes an issue introduced in 5424bc5 ("http*: add helper methods for fetching objects (loose)"), where the append_remote_object_url() implementation in http-push.c, which assumed that urls end with a slash, was replaced by another one in http.c, which assumed urls did not end with a slash. The above issue was raised by Thomas Schlichter: http://marc.info/?l=git&m=125043105231327 Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Tested-by: Thomas Schlichter <thomas.schlichter@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Tay Ray Chuan committed Aug 17, 2009 at 17:09 UTC 800324c3addbf60b15114c4292204806b1300060
1 file changed +3 -1
http.c
+3 -1
@@ -719,7 +719,9 @@ void append_remote_object_url(struct strbuf *buf, const char *url,
719 const char *hex,
720 int only_two_digit_prefix)
721 {
722 - strbuf_addf(buf, "%s/objects/%.*s/", url, 2, hex);
722 + end_url_with_slash(buf, url);
723 +
724 + strbuf_addf(buf, "objects/%.*s/", 2, hex);
725 if (!only_two_digit_prefix)
726 strbuf_addf(buf, "%s", hex+2);
727 }