[PATCH 21/30] search_ref_dir(): take (ref_entry *) instead of (ref_dir *)
From: <hidden>
Date: 2016-06-15 22:53:39
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Michael Haggerty <redacted> Signed-off-by: Michael Haggerty <redacted> --- refs.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/refs.c b/refs.c
index 4bea486..07856fb 100644
--- a/refs.c
+++ b/refs.c@@ -248,15 +248,19 @@ static int ref_entry_cmp(const void *a, const void *b) static void sort_ref_dir(struct ref_dir *dir); /* - * Return the entry with the given refname from the ref_dir - * (non-recursively), sorting dir if necessary. Return NULL if no - * such entry is found. + * Return the entry with the given refname from direntry + * (non-recursively), sorting direntry if necessary. Return NULL if + * no such entry is found. */ -static struct ref_entry *search_ref_dir(struct ref_dir *dir, const char *refname) +static struct ref_entry *search_ref_dir(struct ref_entry *direntry, + const char *refname) { struct ref_entry *e, **r; int len; + struct ref_dir *dir; + assert(direntry->flag & REF_DIR); + dir = &direntry->u.subdir; if (refname == NULL || !dir->nr) return NULL;
@@ -286,8 +290,7 @@ static struct ref_entry *search_ref_dir(struct ref_dir *dir, const char *refname static struct ref_entry *search_for_subdir(struct ref_entry *direntry, const char *subdirname, int mkdir) { - struct ref_entry *entry = search_ref_dir(&direntry->u.subdir, - subdirname); + struct ref_entry *entry = search_ref_dir(direntry, subdirname); if (!entry) { if (!mkdir) return NULL;
@@ -338,7 +341,7 @@ static struct ref_entry *find_ref(struct ref_entry *direntry, const char *refnam direntry = find_containing_direntry(direntry, refname, 0); if (!direntry) return NULL; - entry = search_ref_dir(&direntry->u.subdir, refname); + entry = search_ref_dir(direntry, refname); return (entry && !(entry->flag & REF_DIR)) ? entry : NULL; }
--
1.7.10