From: Michael Haggerty <mhagger@xxxxxxxxxxxx> The dirname can be determined from the direntry argument. Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/refs.c b/refs.c index 2057380..bc4a69b 100644 --- a/refs.c +++ b/refs.c @@ -768,16 +768,14 @@ void add_packed_ref(const char *refname, const unsigned char *sha1) } /* - * Read the loose references for refs from the namespace dirname. - * dirname must end with '/'. direntry must be the directory entry - * corresponding to dirname. + * Read the loose references for direntry in refs. */ -static void get_ref_dir(struct ref_cache *refs, const char *dirname, - struct ref_entry *direntry) +static void get_ref_dir(struct ref_cache *refs, struct ref_entry *direntry) { DIR *d; const char *path; struct dirent *de; + const char *dirname = direntry->name; int dirnamelen = strlen(dirname); struct strbuf refname; @@ -813,7 +811,7 @@ static void get_ref_dir(struct ref_cache *refs, const char *dirname, /* Silently ignore. */ } else if (S_ISDIR(st.st_mode)) { strbuf_addch(&refname, '/'); - get_ref_dir(refs, refname.buf, + get_ref_dir(refs, search_for_subdir(&direntry->u.subdir, refname.buf, 1)); } else { @@ -841,7 +839,7 @@ static struct ref_entry *get_loose_refs(struct ref_cache *refs) { if (!refs->loose) { refs->loose = create_dir_entry(""); - get_ref_dir(refs, "refs/", + get_ref_dir(refs, search_for_subdir(&refs->loose->u.subdir, "refs/", 1)); } -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html