From: Jose M. Guisado Gomez Date: Sat, 18 Jul 2020 10:25:21 +0000 (+0200) Subject: capabilities: conditionalize mhd callback return type X-Git-Tag: collectd-5.12.0~26^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7a336c237882a3ee6a020d2f6ad4f8b227cf5742;p=thirdparty%2Fcollectd.git capabilities: conditionalize mhd callback return type libmicrohttpd introduced an API change with respect its callback return types. Now its signature says that an enum must be returned instead of an int. This causes collectd to not finish compilation because of the compiler warnings this arised (in addition to -Werror) Add conditional compiling so systems with microhttpd >=0.9.71 can compile collectd with -Werror Fixes #3511 --- diff --git a/src/capabilities.c b/src/capabilities.c index 5c27e6a3a..8e9411836 100644 --- a/src/capabilities.c +++ b/src/capabilities.c @@ -33,6 +33,11 @@ #include "utils/dmi/dmi.h" #include +#if MHD_VERSION >= 0x00097002 +#define MHD_RESULT enum MHD_Result +#else +#define MHD_RESULT int +#endif #include #include @@ -187,7 +192,7 @@ static int cap_get_dmi_variables(json_t *parent, const dmi_type type, /* http_handler is the callback called by the microhttpd library. It essentially * handles all HTTP request aspects and creates an HTTP response. */ -static int cap_http_handler(void *cls, struct MHD_Connection *connection, +static MHD_RESULT cap_http_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **connection_state) { diff --git a/src/capabilities_test.c b/src/capabilities_test.c index 16061d294..8207740df 100644 --- a/src/capabilities_test.c +++ b/src/capabilities_test.c @@ -93,14 +93,14 @@ struct MHD_Response *MHD_create_response_from_data(size_t size, void *data, return mhd_res; } -int MHD_add_response_header(struct MHD_Response *response, const char *header, - const char *content) { +MHD_RESULT MHD_add_response_header(struct MHD_Response *response, + const char *header, const char *content) { return 0; } -int MHD_queue_response(struct MHD_Connection *connection, - unsigned int status_code, - struct MHD_Response *response) { +MHD_RESULT MHD_queue_response(struct MHD_Connection *connection, + unsigned int status_code, + struct MHD_Response *response) { return MHD_HTTP_OK; }