--- /dev/null
+--- a/src/ulfius.c
++++ b/src/ulfius.c
+@@ -61,7 +61,7 @@ int y_close_logs() {
+ /**
+ * Fill a map with the key/values specified
+ */
+-static int ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
++static enum MHD_Result ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
+ char * tmp;
+ int res;
+ UNUSED(kind);
+@@ -94,7 +94,7 @@ static int ulfius_fill_map_check_utf8(void * cls, enum MHD_ValueKind kind, const
+ /**
+ * Fill a map with the key/values specified
+ */
+-static int ulfius_fill_map(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
++static enum MHD_Result ulfius_fill_map(void * cls, enum MHD_ValueKind kind, const char * key, const char * value) {
+ char * tmp;
+ int res;
+ UNUSED(kind);
+@@ -290,7 +290,7 @@ void mhd_request_completed (void *cls, struct MHD_Connection *connection,
+ * if a parameter is larger than max_post_param_size, truncate it
+ * return MHD_NO on error
+ */
+-static int mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, const char * key,
++static enum MHD_Result mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, const char * key,
+ const char * filename, const char * content_type,
+ const char * transfer_encoding, const char * data, uint64_t off, size_t size) {
+
+@@ -352,7 +352,7 @@ static int mhd_iterate_post_data (void * coninfo_cls, enum MHD_ValueKind kind, c
+ * function executed by libmicrohttpd every time an HTTP call is made
+ * return MHD_NO on error
+ */
+-static int ulfius_webservice_dispatcher (void * cls,
++static enum MHD_Result ulfius_webservice_dispatcher (void * cls,
+ struct MHD_Connection * connection,
+ const char * url,
+ const char * method,
+@@ -363,7 +363,8 @@ static int ulfius_webservice_dispatcher (void * cls,
+
+ struct _u_endpoint * endpoint_list = ((struct _u_instance *)cls)->endpoint_list, ** current_endpoint_list = NULL, * current_endpoint = NULL;
+ struct connection_info_struct * con_info = * con_cls;
+- int mhd_ret = MHD_NO, callback_ret = U_OK, i, close_loop = 0, inner_error = U_OK, mhd_response_flag;
++ enum MHD_Result mhd_ret = MHD_NO;
++ int callback_ret = U_OK, i, close_loop = 0, inner_error = U_OK, mhd_response_flag;
+ #ifndef U_DISABLE_WEBSOCKET
+ // Websocket variables
+ int upgrade_protocol = 0;