path: root/http-walker.c
diff options
authorJeff King <>2018-11-12 14:48:56 (GMT)
committerJunio C Hamano <>2018-11-13 05:22:02 (GMT)
commitb69fb867b4bb9e30e705d2176fe8a0a90b208325 (patch)
tree01342d6ba391110abde7d5907d6bb319e6944778 /http-walker.c
parent263db403face43927c2eb545a2e6ebb39aae4239 (diff)
sha1_file_name(): overwrite buffer instead of appending
The sha1_file_name() function is used to generate the path to a loose object in the object directory. It doesn't make much sense for it to append, since the the path we write may be absolute (i.e., you cannot reliably build up a path with it). Because many callers use it with a static buffer, they have to strbuf_reset() manually before each call (and the other callers always use an empty buffer, so they don't care either way). Let's handle this automatically. Since we're changing the semantics, let's take the opportunity to give it a more hash-neutral name (which will also catch any callers from topics in flight). Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'http-walker.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/http-walker.c b/http-walker.c
index b3334bf..0a392c8 100644
--- a/http-walker.c
+++ b/http-walker.c
@@ -547,7 +547,7 @@ static int fetch_object(struct walker *walker, unsigned char *sha1)
ret = error("File %s has bad hash", hex);
} else if (req->rename < 0) {
struct strbuf buf = STRBUF_INIT;
- sha1_file_name(the_repository, &buf, req->sha1);
+ loose_object_path(the_repository, &buf, req->sha1);
ret = error("unable to write sha1 filename %s", buf.buf);