is_refname_available(): convert local variable "dirname" to strbuf

This change wouldn't be worth it by itself, but in a moment we will use the strbuf for more string juggling. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>

Michael Haggerty committed May 11, 2015 at 17:25 UTC 6075f3076e8a7fea0a132d459d1e21e771cdd880
1 file changed +5 -7
refs.c
+5 -7
@@ -887,9 +887,8 @@ static int is_refname_available(const char *refname,
887 struct ref_dir *dir)
888 {
889 const char *slash;
890 - size_t len;
890 int pos;
892 - char *dirname;
891 + struct strbuf dirname = STRBUF_INIT;
892
893 /*
894 * For the sake of comments in this function, suppose that
@@ -955,11 +954,10 @@ static int is_refname_available(const char *refname,
954 * names are in the "refs/foo/bar/" namespace, because they
955 * *do* conflict.
956 */
958 - len = strlen(refname);
959 - dirname = xmallocz(len + 1);
960 - sprintf(dirname, "%s/", refname);
961 - pos = search_ref_dir(dir, dirname, len + 1);
962 - free(dirname);
957 + strbuf_addstr(&dirname, refname);
958 + strbuf_addch(&dirname, '/');
959 + pos = search_ref_dir(dir, dirname.buf, dirname.len);
960 + strbuf_release(&dirname);
961
962 if (pos >= 0) {
963 /*