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>
This commit is contained in:
Michael Haggerty 2015-05-11 17:25:06 +02:00 коммит произвёл Junio C Hamano
Родитель 9ef6eaa287
Коммит 6075f3076e
1 изменённых файлов: 5 добавлений и 7 удалений

12
refs.c
Просмотреть файл

@ -887,9 +887,8 @@ static int is_refname_available(const char *refname,
struct ref_dir *dir)
{
const char *slash;
size_t len;
int pos;
char *dirname;
struct strbuf dirname = STRBUF_INIT;
/*
* For the sake of comments in this function, suppose that
@ -955,11 +954,10 @@ static int is_refname_available(const char *refname,
* names are in the "refs/foo/bar/" namespace, because they
* *do* conflict.
*/
len = strlen(refname);
dirname = xmallocz(len + 1);
sprintf(dirname, "%s/", refname);
pos = search_ref_dir(dir, dirname, len + 1);
free(dirname);
strbuf_addstr(&dirname, refname);
strbuf_addch(&dirname, '/');
pos = search_ref_dir(dir, dirname.buf, dirname.len);
strbuf_release(&dirname);
if (pos >= 0) {
/*