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
[Newbies FAQ] [Linux Kernel Development] [Free Online Dating] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Free Online Dating] [Photo] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users] [Linux Resources]