1From d983161415f5f5748fbdbaa5fbd168154ccf8867 Mon Sep 17 00:00:00 2001
2From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
3Date: Wed, 5 Aug 2020 12:31:24 +0900
4Subject: [PATCH] Fix build with libmicrohttpd 0.9.71
5
6---
7 src/jsonrpccpp/server/connectors/httpserver.cpp | 2 +-
8 src/jsonrpccpp/server/connectors/httpserver.h   | 8 +++++++-
9 2 files changed, 8 insertions(+), 2 deletions(-)
10
11diff --git a/src/jsonrpccpp/server/connectors/httpserver.cpp b/src/jsonrpccpp/server/connectors/httpserver.cpp
12index a849615..dd3b841 100644
13--- a/src/jsonrpccpp/server/connectors/httpserver.cpp
14+++ b/src/jsonrpccpp/server/connectors/httpserver.cpp
15@@ -151,7 +151,7 @@ void HttpServer::SetUrlHandler(const string &url,
16   this->SetHandler(NULL);
17 }
18
19-int HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
20+mhd_result HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
21                          const char *method, const char *version,
22                          const char *upload_data, size_t *upload_data_size,
23                          void **con_cls) {
24diff --git a/src/jsonrpccpp/server/connectors/httpserver.h b/src/jsonrpccpp/server/connectors/httpserver.h
25index 7785edb..0dcf032 100644
26--- a/src/jsonrpccpp/server/connectors/httpserver.h
27+++ b/src/jsonrpccpp/server/connectors/httpserver.h
28@@ -32,6 +32,12 @@ typedef intptr_t ssize_t;
29 #include <map>
30 #include <microhttpd.h>
31
32+#if MHD_VERSION >= 0x00097002
33+#  define mhd_result enum MHD_Result
34+#else
35+#  define mhd_result int
36+#endif
37+
38 namespace jsonrpc {
39 /**
40  * This class provides an embedded HTTP Server, based on libmicrohttpd, to
41@@ -79,7 +85,7 @@ private:
42   std::map<std::string, IClientConnectionHandler *> urlhandler;
43   struct sockaddr_in loopback_addr;
44
45-  static int callback(void *cls, struct MHD_Connection *connection,
46+  static mhd_result callback(void *cls, struct MHD_Connection *connection,
47                       const char *url, const char *method, const char *version,
48                       const char *upload_data, size_t *upload_data_size,
49                       void **con_cls);
50--
512.25.1
52
53