From 800324c3addbf60b15114c4292204806b1300060 Mon Sep 17 00:00:00 2001 From: Tay Ray Chuan Date: Mon, 17 Aug 2009 17:09:43 +0800 Subject: [PATCH] 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 Tested-by: Thomas Schlichter Signed-off-by: Junio C Hamano --- http.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/http.c b/http.c index a2720d576..6182640c1 100644 --- a/http.c +++ b/http.c @@ -719,7 +719,9 @@ void append_remote_object_url(struct strbuf *buf, const char *url, const char *hex, int only_two_digit_prefix) { - strbuf_addf(buf, "%s/objects/%.*s/", url, 2, hex); + end_url_with_slash(buf, url); + + strbuf_addf(buf, "objects/%.*s/", 2, hex); if (!only_two_digit_prefix) strbuf_addf(buf, "%s", hex+2); } -- 2.30.2