From: Nick Mathewson Date: Thu, 2 Sep 2010 15:27:57 +0000 (-0400) Subject: Declare evkeyvalq and event_list even if event_struct.h comes before sys/queue.h X-Git-Tag: release-2.0.7-rc~14^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d3ceca800eb6478b9e0b74680e2bd247d8213187;p=libevent Declare evkeyvalq and event_list even if event_struct.h comes before sys/queue.h Fixes bug 3036645 reported by Mihai Draghicioiu --- diff --git a/include/event2/event_struct.h b/include/event2/event_struct.h index 80900ea3..9251a7a9 100644 --- a/include/event2/event_struct.h +++ b/include/event2/event_struct.h @@ -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 }