Declare evkeyvalq and event_list even if event_struct.h comes before sys/queue.h

Fixes bug 3036645 reported by Mihai Draghicioiu
This commit is contained in:
Nick Mathewson 2010-09-02 11:27:57 -04:00
parent acc4aca49e
commit d3ceca800e

View 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
}