diff --git a/src/lib-http/http-server-request.c b/src/lib-http/http-server-request.c index 6d94bebc05..96a24e9f04 100644 --- a/src/lib-http/http-server-request.c +++ b/src/lib-http/http-server-request.c @@ -114,6 +114,7 @@ void http_server_request_destroy(struct http_server_request **_req) http_server_request_unref(_req); } +#undef http_server_request_set_destroy_callback void http_server_request_set_destroy_callback(struct http_server_request *req, void (*callback)(void *), void *context) diff --git a/src/lib-http/http-server.h b/src/lib-http/http-server.h index 3744dc6662..bb311aeea4 100644 --- a/src/lib-http/http-server.h +++ b/src/lib-http/http-server.h @@ -148,6 +148,9 @@ void http_server_request_fail_auth_basic(struct http_server_request *req, void http_server_request_set_destroy_callback(struct http_server_request *req, void (*callback)(void *), void *context); +#define http_server_request_set_destroy_callback(req, callback, context) \ + http_server_request_set_destroy_callback(req, (void(*)(void*))callback, context + \ + CALLBACK_TYPECHECK(callback, void (*)(typeof(context)))) /* Reference a server request */ void http_server_request_ref(struct http_server_request *req);