list: avoid incompatibility with *BSD sys/queue.h
authorEric Wong <e@80x24.org>
Sun, 17 Jul 2016 00:25:34 +0000 (00:25 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 18 Jul 2016 18:06:51 +0000 (11:06 -0700)
The OS X build pulls in sys/queue.h, which pollutes the preprocessor
namespace with a macro generically named LIST_HEAD, and clashes with
the name we use here.

ref: http://mid.gmane.org/FB76544F-16F7-45CA-9649-FD62EE44B0DE@gmail.com

Reported-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
list.h
diff --git a/list.h b/list.h
index f65edce14888a84ef0860edf8ec7523470ed2468..a226a870dc09d6b58346a92d5f98078d2e55163a 100644 (file)
--- a/list.h
+++ b/list.h
@@ -36,6 +36,8 @@ struct list_head {
        struct list_head *next, *prev;
 };
 
+/* avoid conflicts with BSD-only sys/queue.h */
+#undef LIST_HEAD
 /* Define a variable with the head and tail of the list. */
 #define LIST_HEAD(name) \
        struct list_head name = { &(name), &(name) }