odb_mkstemp: use git_path_buf
authorJeff King <peff@peff.net>
Tue, 28 Mar 2017 19:45:52 +0000 (15:45 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 28 Mar 2017 22:28:04 +0000 (15:28 -0700)
Since git_path_buf() is smart enough to replace "objects/"
with the correct object path, we can use it instead of
manually assembling the path. That's slightly shorter, and
will clean up any non-canonical bits in the path.

Signed-off-by: Jeff King <peff@peff.net>
environment.c
index 88276790db4175f710597b5c69cc1757e302eecd..a9bf5658ade92436feb96f68f174a484fd09fd32 100644 (file)
@@ -282,16 +282,14 @@ int odb_mkstemp(struct strbuf *template, const char *pattern)
         * restrictive except to remove write permission.
         */
        int mode = 0444;
-       strbuf_reset(template);
-       strbuf_addf(template, "%s/%s", get_object_directory(), pattern);
+       git_path_buf(template, "objects/%s", pattern);
        fd = git_mkstemp_mode(template->buf, mode);
        if (0 <= fd)
                return fd;
 
        /* slow path */
        /* some mkstemp implementations erase template on failure */
-       strbuf_reset(template);
-       strbuf_addf(template, "%s/%s", get_object_directory(), pattern);
+       git_path_buf(template, "objects/%s", pattern);
        safe_create_leading_directories(template->buf);
        return xmkstemp_mode(template->buf, mode);
 }