Convert many resolve_ref() calls to read_ref*() and ref_exists()
resolve_ref() may return a pointer to a static buffer, which is not safe for long-term use because if another resolve_ref() call happens, the buffer may be changed. Many call sites though do not care about this buffer. They simply check if the return value is NULL or not. Convert all these call sites to new wrappers to reduce resolve_ref() calls from 57 to 34. If we change resolve_ref() prototype later on to avoid passing static buffer out, this helps reduce changes. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
bc1bbe0c19
commit
c689332391
@ -186,7 +186,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
|
||||
free(name);
|
||||
|
||||
name = xstrdup(mkpath(fmt, bname.buf));
|
||||
if (!resolve_ref(name, sha1, 1, NULL)) {
|
||||
if (read_ref(name, sha1)) {
|
||||
error(_("%sbranch '%s' not found."),
|
||||
remote, bname.buf);
|
||||
ret = 1;
|
||||
@ -565,7 +565,6 @@ static int print_ref_list(int kinds, int detached, int verbose, int abbrev, stru
|
||||
static void rename_branch(const char *oldname, const char *newname, int force)
|
||||
{
|
||||
struct strbuf oldref = STRBUF_INIT, newref = STRBUF_INIT, logmsg = STRBUF_INIT;
|
||||
unsigned char sha1[20];
|
||||
struct strbuf oldsection = STRBUF_INIT, newsection = STRBUF_INIT;
|
||||
int recovery = 0;
|
||||
|
||||
@ -577,7 +576,7 @@ static void rename_branch(const char *oldname, const char *newname, int force)
|
||||
* Bad name --- this could be an attempt to rename a
|
||||
* ref that we used to allow to be created by accident.
|
||||
*/
|
||||
if (resolve_ref(oldref.buf, sha1, 1, NULL))
|
||||
if (ref_exists(oldref.buf))
|
||||
recovery = 1;
|
||||
else
|
||||
die(_("Invalid branch name: '%s'"), oldname);
|
||||
|
Reference in New Issue
Block a user