]> granicus.if.org Git - libevent/commitdiff
Declare evkeyvalq and event_list even if event_struct.h comes before sys/queue.h
authorNick Mathewson <nickm@torproject.org>
Thu, 2 Sep 2010 15:27:57 +0000 (11:27 -0400)
committerNick Mathewson <nickm@torproject.org>
Thu, 2 Sep 2010 15:27:57 +0000 (11:27 -0400)
Fixes bug 3036645 reported by Mihai Draghicioiu

include/event2/event_struct.h

index 80900ea3488e95e7d019a08e6206b5d5574d5692..9251a7a9cab8e65db79814e906bab18f8e9de72b 100644 (file)
@@ -69,6 +69,15 @@ struct {                                                             \
 }
 #endif /* !TAILQ_ENTRY */
 
+#ifndef TAILQ_HEAD
+#define _EVENT_DEFINED_TQHEAD
+#define TAILQ_HEAD(name, type)                 \
+struct name {                                  \
+       struct type *tqh_first;                 \
+       struct type **tqh_last;                 \
+}
+#endif
+
 struct event_base;
 struct event {
        TAILQ_ENTRY(event) ev_active_next;
@@ -121,15 +130,16 @@ struct evkeyval {
        char *value;
 };
 
-#ifdef _EVENT_DEFINED_TQENTRY
-#undef TAILQ_ENTRY
-struct event_list;
-struct evkeyvalq;
-#undef _EVENT_DEFINED_TQENTRY
-#else
 TAILQ_HEAD (event_list, event);
 TAILQ_HEAD (evkeyvalq, evkeyval);
-#endif /* _EVENT_DEFINED_TQENTRY */
+
+#ifdef _EVENT_DEFINED_TQENTRY
+#undef TAILQ_ENTRY
+#endif
+
+#ifdef _EVENT_DEFINED_TQHEAD
+#undef TAILQ_HEAD
+#endif
 
 #ifdef __cplusplus
 }