Code

lstat_cache(): introduce clear_lstat_cache() function
authorKjetil Barvik <barvik@broadpark.no>
Sun, 18 Jan 2009 15:14:54 +0000 (16:14 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Jan 2009 21:58:34 +0000 (13:58 -0800)
If you want to completely clear the contents of the lstat_cache(), then
call this new function.

Signed-off-by: Kjetil Barvik <barvik@broadpark.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
symlinks.c

diff --git a/cache.h b/cache.h
index f4452a89a7cf8929e816319b04bb00323991a064..468daf6a43672139ea39a02245fd12f652ad12c2 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -723,6 +723,7 @@ extern int has_symlink_leading_path(int len, const char *name);
 extern int has_symlink_or_noent_leading_path(int len, const char *name);
 extern int has_dirs_only_path(int len, const char *name, int prefix_len);
 extern void invalidate_lstat_cache(int len, const char *name);
+extern void clear_lstat_cache(void);
 
 extern struct alternate_object_database {
        struct alternate_object_database *next;
index 31ddbc9e9654994b8a779cc76fe3f16b717f029a..f262b7c44b387f4c60901124c30585b3c059fa73 100644 (file)
@@ -195,6 +195,14 @@ void invalidate_lstat_cache(int len, const char *name)
        }
 }
 
+/*
+ * Completely clear the contents of the cache
+ */
+void clear_lstat_cache(void)
+{
+       reset_lstat_cache(0, 0);
+}
+
 #define USE_ONLY_LSTAT  0
 
 /*