diff --git a/buffer.c b/buffer.c index fe6c30ef..fe384753 100644 --- a/buffer.c +++ b/buffer.c @@ -138,6 +138,9 @@ evbuffer_add_vprintf(struct evbuffer *buf, const char *fmt, va_list ap) buffer = (char *)buf->buffer + buf->off; space = buf->totallen - buf->misalign - buf->off; +#ifndef va_copy +#define va_copy(dst, src) memcpy(&(dst), &(src), sizeof(va_list)) +#endif va_copy(aq, ap); #ifdef WIN32 diff --git a/http.c b/http.c index fdb5e628..0e29ec65 100644 --- a/http.c +++ b/http.c @@ -538,10 +538,11 @@ evhttp_connection_done(struct evhttp_connection *evcon) * on the connection, so that we can reply to it. */ if (evcon->flags & EVHTTP_CON_OUTGOING) { + int need_close; TAILQ_REMOVE(&evcon->requests, req, next); req->evcon = NULL; - int need_close = + need_close = evhttp_is_connection_close(req->input_headers) || evhttp_is_connection_close(req->output_headers);