diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c index 0f7e8f8775..1ed350649c 100644 --- a/src/journal-remote/journal-remote.c +++ b/src/journal-remote/journal-remote.c @@ -664,7 +664,12 @@ static int setup_microhttpd_server(RemoteServer *s, return log_error_errno(r, "Failed to make fd:%d nonblocking: %m", fd); /* MHD_OPTION_STRICT_FOR_CLIENT is introduced in microhttpd 0.9.54, - * and MHD_USE_PEDANTIC_CHECKS will be deprecated in future. */ + * and MHD_USE_PEDANTIC_CHECKS will be deprecated in future. + * If MHD_USE_PEDANTIC_CHECKS is '#define'd, then it is deprecated + * and we should use MHD_OPTION_STRICT_FOR_CLIENT. On the other hand, + * if MHD_USE_PEDANTIC_CHECKS is not '#define'd, then it is not + * deprecated yet and there exists an enum element with the same name. + * So we can safely use it. */ #ifdef MHD_USE_PEDANTIC_CHECKS opts[opts_pos++] = (struct MHD_OptionItem) {MHD_OPTION_STRICT_FOR_CLIENT, 1}; diff --git a/src/journal-remote/microhttpd-util.h b/src/journal-remote/microhttpd-util.h index 8112851b16..4b2e9da30b 100644 --- a/src/journal-remote/microhttpd-util.h +++ b/src/journal-remote/microhttpd-util.h @@ -24,12 +24,10 @@ #include "macro.h" -/* Those defines are added when options are renamed, hence the check for the *old* name. */ - -/* Compatiblity with libmicrohttpd < 0.9.38 */ -#ifndef MHD_HTTP_NOT_ACCEPTABLE -# define MHD_HTTP_NOT_ACCEPTABLE MHD_HTTP_METHOD_NOT_ACCEPTABLE -#endif +/* Those defines are added when options are renamed. If the old names + * are not '#define'd, then they are not deprecated yet and there are + * enum elements with the same name. Hence let's check for the *old* name, + * and define the new name by the value of the old name. */ /* Renamed in µhttpd 0.9.51 */ #ifndef MHD_USE_PIPE_FOR_SHUTDOWN @@ -53,6 +51,11 @@ /* Both the old and new names are defines, check for the new one. */ +/* Compatiblity with libmicrohttpd < 0.9.38 */ +#ifndef MHD_HTTP_NOT_ACCEPTABLE +# define MHD_HTTP_NOT_ACCEPTABLE MHD_HTTP_METHOD_NOT_ACCEPTABLE +#endif + /* Renamed in µhttpd 0.9.53 */ #ifndef MHD_HTTP_PAYLOAD_TOO_LARGE # define MHD_HTTP_PAYLOAD_TOO_LARGE MHD_HTTP_REQUEST_ENTITY_TOO_LARGE