Code

clear_ref_cache(): extract two new functions
authorMichael Haggerty <mhagger@alum.mit.edu>
Mon, 17 Oct 2011 02:38:09 +0000 (04:38 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Oct 2011 04:11:33 +0000 (21:11 -0700)
Extract two new functions from clear_cached_refs():
clear_loose_ref_cache() and clear_packed_ref_cache().

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 623d67342afef9e361113b1f6faa06ca368e9171..2a21dc344338a4dc69fe9785e04b2f9829c24afc 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -158,13 +158,24 @@ static void free_ref_array(struct ref_array *array)
        array->refs = NULL;
 }
 
-static void clear_ref_cache(struct ref_cache *refs)
+static void clear_packed_ref_cache(struct ref_cache *refs)
 {
-       if (refs->did_loose)
-               free_ref_array(&refs->loose);
        if (refs->did_packed)
                free_ref_array(&refs->packed);
-       refs->did_loose = refs->did_packed = 0;
+       refs->did_packed = 0;
+}
+
+static void clear_loose_ref_cache(struct ref_cache *refs)
+{
+       if (refs->did_loose)
+               free_ref_array(&refs->loose);
+       refs->did_loose = 0;
+}
+
+static void clear_ref_cache(struct ref_cache *refs)
+{
+       clear_packed_ref_cache(refs);
+       clear_loose_ref_cache(refs);
 }
 
 static struct ref_cache *create_ref_cache(const char *submodule)