Mark the variable declarations in .h files as extern
authorPetr Baudis <pasky@ucw.cz>
Tue, 10 May 2005 22:58:16 +0000 (00:58 +0200)
committerPetr Baudis <xpasky@machine.sinus.cz>
Tue, 10 May 2005 22:58:16 +0000 (00:58 +0200)
This allows git to be built even with linkers which are not smart enough
to join those symbols, and makes this correct C. Pointed out by several
people.

cache.h
object.h

diff --git a/cache.h b/cache.h
index 1dba405..f8329ae 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -96,8 +96,8 @@ static inline unsigned int create_ce_mode(unsigned int mode)
 
 #define cache_entry_size(len) ((offsetof(struct cache_entry,name) + (len) + 8) & ~7)
 
-struct cache_entry **active_cache;
-unsigned int active_nr, active_alloc, active_cache_changed;
+extern struct cache_entry **active_cache;
+extern unsigned int active_nr, active_alloc, active_cache_changed;
 
 #define DB_ENVIRONMENT "SHA1_FILE_DIRECTORY"
 #define DEFAULT_DB_ENVIRONMENT ".git/objects"
index d53a35a..09700d3 100644 (file)
--- a/object.h
+++ b/object.h
@@ -15,8 +15,8 @@ struct object {
        struct object_list *refs;
 };
 
-int nr_objs;
-struct object **objs;
+extern int nr_objs;
+extern struct object **objs;
 
 struct object *lookup_object(unsigned char *sha1);