From 17b80efd6bfd3abe5637d1b7962b89a894efa9ec Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 5 Jul 2020 12:12:16 +0200 Subject: [PATCH] package/upmpdcli: fix build with libmicrohttpd 0.9.71 Signed-off-by: Bernd Kuhls Signed-off-by: Yann E. MORIN --- ...dapt-streamproxy-to-newer-microhttpd.patch | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 package/upmpdcli/0001-Adapt-streamproxy-to-newer-microhttpd.patch diff --git a/package/upmpdcli/0001-Adapt-streamproxy-to-newer-microhttpd.patch b/package/upmpdcli/0001-Adapt-streamproxy-to-newer-microhttpd.patch new file mode 100644 index 0000000000..55c691b86a --- /dev/null +++ b/package/upmpdcli/0001-Adapt-streamproxy-to-newer-microhttpd.patch @@ -0,0 +1,106 @@ +From 4fd8a07b560dcd4ad5706684d512d33707de3da0 Mon Sep 17 00:00:00 2001 +From: Jean-Francois Dockes +Date: Fri, 3 Jul 2020 19:26:37 +0200 +Subject: [PATCH] Adapt streamproxy to newer microhttpd where results are now + an enum + +Signed-off-by: Bernd Kuhls +[downloaded from upstream commit + https://framagit.org/medoc92/upmpdcli/-/commit/4fd8a07b560dcd4ad5706684d512d33707de3da0] +--- + src/mediaserver/cdplugins/streamproxy.cpp | 23 ++++++++++++++--------- + 1 file changed, 14 insertions(+), 9 deletions(-) + +diff --git a/src/mediaserver/cdplugins/streamproxy.cpp b/src/mediaserver/cdplugins/streamproxy.cpp +index abc57915..8d283834 100644 +--- a/src/mediaserver/cdplugins/streamproxy.cpp ++++ b/src/mediaserver/cdplugins/streamproxy.cpp +@@ -28,6 +28,11 @@ + #include + #include + ++ ++#if MHD_VERSION < 0x00097002 ++typedef int MHD_Result; ++#endif ++ + #include + #include + #include +@@ -155,7 +160,7 @@ public: + ~Internal(); + bool startMHD(); + +- int answerConn( ++ MHD_Result answerConn( + struct MHD_Connection *connection, const char *url, + const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, +@@ -202,7 +207,7 @@ StreamProxy::Internal::Internal(int _listenport, UrlTransFunc _urltrans) + } + + +-static int answer_to_connection( ++static MHD_Result answer_to_connection( + void *cls, struct MHD_Connection *conn, + const char *url, const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, +@@ -214,7 +219,7 @@ static int answer_to_connection( + return internal->answerConn( + conn, url, method, version, upload_data, upload_data_size, con_cls); + } else { +- return -1; ++ return MHD_NO; + } + } + +@@ -238,8 +243,8 @@ static int print_out_key (void *cls, enum MHD_ValueKind kind, + } + #endif /* PRINT_KEYS */ + +-static int mapvalues_cb(void *cls, enum MHD_ValueKind kind, +- const char *key, const char *value) ++static MHD_Result mapvalues_cb(void *cls, enum MHD_ValueKind kind, ++ const char *key, const char *value) + { + unordered_map *mp = (unordered_map *)cls; + if (mp) { +@@ -307,7 +312,7 @@ static bool processRange(struct MHD_Connection *mhdconn, uint64_t& offset) + return true; + } + +-int StreamProxy::Internal::answerConn( ++MHD_Result StreamProxy::Internal::answerConn( + struct MHD_Connection *mhdconn, const char *_url, + const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, +@@ -352,7 +357,7 @@ int StreamProxy::Internal::answerConn( + return MHD_NO; + } + MHD_add_response_header (response, "Location", url.c_str()); +- int ret = MHD_queue_response(mhdconn, 302, response); ++ MHD_Result ret = MHD_queue_response(mhdconn, 302, response); + MHD_destroy_response(response); + return ret; + } +@@ -393,7 +398,7 @@ int StreamProxy::Internal::answerConn( + int code = httpcode ? httpcode : MHD_HTTP_INTERNAL_SERVER_ERROR; + struct MHD_Response *response = + MHD_create_response_from_buffer(0, 0, MHD_RESPMEM_PERSISTENT); +- int ret = MHD_queue_response(mhdconn, code, response); ++ MHD_Result ret = MHD_queue_response(mhdconn, code, response); + MHD_destroy_response(response); + LOGINF("StreamProxy::answerConn (1): return with http code: " << + code << endl); +@@ -434,7 +439,7 @@ int StreamProxy::Internal::answerConn( + if (reader->fetcher->fetchDone(&fetchcode, &httpcode)) { + code = httpcode ? httpcode : MHD_HTTP_INTERNAL_SERVER_ERROR; + } +- int ret = MHD_queue_response(mhdconn, code, response); ++ MHD_Result ret = MHD_queue_response(mhdconn, code, response); + MHD_destroy_response(response); + return ret; + } +-- +GitLab + -- 2.30.2