summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-04-02 01:14:06 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-04-23 05:53:54 (GMT)
commit228e94f93570b580da388069900c56b813c91953 (patch)
tree34bac44f8bb3f08b493c1d8e7d1634b456063d3d
parent4280cde95fa4e3fb012eb6d0c239a7777baaf60c (diff)
downloadgit-228e94f93570b580da388069900c56b813c91953.zip
git-228e94f93570b580da388069900c56b813c91953.tar.gz
git-228e94f93570b580da388069900c56b813c91953.tar.bz2
Move index-related variables into a structure.
This defines a index_state structure and moves index-related global variables into it. Currently there is one instance of it, the_index, and everybody accesses it, so there is no code change. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--cache.h19
-rw-r--r--read-cache.c12
2 files changed, 20 insertions, 11 deletions
diff --git a/cache.h b/cache.h
index 89aaf00..4841c9a 100644
--- a/cache.h
+++ b/cache.h
@@ -143,9 +143,22 @@ static inline unsigned int ce_mode_from_stat(struct cache_entry *ce, unsigned in
#define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
-extern struct cache_entry **active_cache;
-extern unsigned int active_nr, active_alloc, active_cache_changed;
-extern struct cache_tree *active_cache_tree;
+struct index_state {
+ struct cache_entry **cache;
+ unsigned int cache_nr, cache_alloc, cache_changed;
+ struct cache_tree *cache_tree;
+ time_t timestamp;
+ void *mmap;
+ size_t mmap_size;
+};
+
+extern struct index_state the_index;
+
+#define active_cache (the_index.cache)
+#define active_nr (the_index.cache_nr)
+#define active_alloc (the_index.cache_alloc)
+#define active_cache_changed (the_index.cache_changed)
+#define active_cache_tree (the_index.cache_tree)
enum object_type {
OBJ_BAD = -1,
diff --git a/read-cache.c b/read-cache.c
index d2f332a..9b4385e 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -19,14 +19,10 @@
#define CACHE_EXT(s) ( (s[0]<<24)|(s[1]<<16)|(s[2]<<8)|(s[3]) )
#define CACHE_EXT_TREE 0x54524545 /* "TREE" */
-struct cache_entry **active_cache;
-static time_t index_file_timestamp;
-unsigned int active_nr, active_alloc, active_cache_changed;
-
-struct cache_tree *active_cache_tree;
-
-static void *cache_mmap;
-static size_t cache_mmap_size;
+struct index_state the_index;
+#define index_file_timestamp (the_index.timestamp)
+#define cache_mmap (the_index.mmap)
+#define cache_mmap_size (the_index.mmap_size)
/*
* This only updates the "non-critical" parts of the directory