summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Barvik <barvik@broadpark.no>2009-01-18 16:14:54 +0100
committerJunio C Hamano <gitster@pobox.com>2009-01-18 13:58:34 -0800
commitbda6eb0da9b4e4e763b531c83cab9fd9f85934ff (patch)
treeff65859c860fd844871a93536161cab7194c1360
parentaeabab5c712d5acae4a2836272d641acbb87b893 (diff)
downloadgit-bda6eb0da9b4e4e763b531c83cab9fd9f85934ff.tar.gz
lstat_cache(): introduce clear_lstat_cache() function
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>
-rw-r--r--cache.h1
-rw-r--r--symlinks.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index f4452a89a7..468daf6a43 100644
--- 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;
diff --git a/symlinks.c b/symlinks.c
index 31ddbc9e96..f262b7c44b 100644
--- a/symlinks.c
+++ b/symlinks.c
@@ -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
/*