4 #define HEADER_LIST_INSERT(x, a, b) { \
6 x = xmalloc(sizeof(struct HTTP_HEADER_LIST)); \
8 while (x->next != NULL) x = x->next; \
9 x->next = xmalloc(sizeof(struct HTTP_HEADER_LIST)); \
13 x->type =xstrdup(a); \
14 x->value = xstrdup(b); \
18 #define HEADER_LL_NEW(x) { \
20 x = xmalloc(sizeof(struct HEADER_LIST_LIST)); \
22 while (x->next != NULL) x = x->next; \
23 x->next = xmalloc(sizeof(struct HEADER_LIST_LIST)); \
34 #define HEADER_LL_INSERT(x, a, b, c) { \
35 if (a != NULL && x->te == NULL) { \
36 x->te = reg_compile(a, REGFLAGS | REG_NOSUB); \
37 x->type = xstrdup(a); \
39 if (b != NULL && x->ve == NULL) { \
40 x->ve = reg_compile(b, REGFLAGS | REG_NOSUB); \
41 x->value = xstrdup(b); \
43 if (c != NULL && x->he == NULL) { \
44 x->he = reg_compile(c, REGFLAGS | REG_NOSUB); \
45 x->host = xstrdup(c); \