mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	Add proper declarations for MHD result >=v0.9.71
This commit is contained in:
		
							parent
							
								
									523746f7f2
								
							
						
					
					
						commit
						83a784744e
					
				
					 2 changed files with 17 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -260,7 +260,7 @@ class CoreActor : public CoreActorInterface {
 | 
			
		|||
  CoreActor() {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static int get_arg_iterate(void* cls, enum MHD_ValueKind kind, const char* key, const char* value) {
 | 
			
		||||
  static MHD_RESULT get_arg_iterate(void* cls, enum MHD_ValueKind kind, const char* key, const char* value) {
 | 
			
		||||
    auto X = static_cast<std::map<std::string, std::string>*>(cls);
 | 
			
		||||
    if (key && value && std::strlen(key) > 0 && std::strlen(value) > 0) {
 | 
			
		||||
      X->emplace(key, urldecode(td::Slice{value}, false));
 | 
			
		||||
| 
						 | 
				
			
			@ -277,7 +277,7 @@ class CoreActor : public CoreActorInterface {
 | 
			
		|||
    ~HttpRequestExtra() {
 | 
			
		||||
      MHD_destroy_post_processor(postprocessor);
 | 
			
		||||
    }
 | 
			
		||||
    static int iterate_post(void* coninfo_cls, enum MHD_ValueKind kind, const char* key, const char* filename,
 | 
			
		||||
    static MHD_RESULT iterate_post(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) {
 | 
			
		||||
      auto ptr = static_cast<HttpRequestExtra*>(coninfo_cls);
 | 
			
		||||
| 
						 | 
				
			
			@ -305,10 +305,10 @@ class CoreActor : public CoreActorInterface {
 | 
			
		|||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  static int process_http_request(void* cls, struct MHD_Connection* connection, const char* url, const char* method,
 | 
			
		||||
  static MHD_RESULT process_http_request(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** ptr) {
 | 
			
		||||
    struct MHD_Response* response = nullptr;
 | 
			
		||||
    int ret;
 | 
			
		||||
    MHD_RESULT ret;
 | 
			
		||||
 | 
			
		||||
    bool is_post = false;
 | 
			
		||||
    if (std::strcmp(method, "GET") == 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,9 +31,22 @@
 | 
			
		|||
#include "td/utils/buffer.h"
 | 
			
		||||
#include "ton/ton-types.h"
 | 
			
		||||
#include "td/utils/port/IPAddress.h"
 | 
			
		||||
#include <microhttpd.h>
 | 
			
		||||
 | 
			
		||||
#define MAX_POST_SIZE (64 << 10)
 | 
			
		||||
 | 
			
		||||
// Beginning with v0.9.71, libmicrohttpd changed the return type of most
 | 
			
		||||
// functions from int to enum MHD_Result
 | 
			
		||||
// https://git.gnunet.org/gnunet.git/tree/src/include/gnunet_mhd_compat.h
 | 
			
		||||
// proposes to define a constant for the return type so it works well
 | 
			
		||||
// with all versions of libmicrohttpd
 | 
			
		||||
#if MHD_VERSION >= 0x00097002
 | 
			
		||||
#define MHD_RESULT enum MHD_Result
 | 
			
		||||
#else
 | 
			
		||||
#define MHD_RESULT int
 | 
			
		||||
#endif
 | 
			
		||||
#define MHD_RESULT enum MHD_Result
 | 
			
		||||
 | 
			
		||||
extern bool local_scripts_;
 | 
			
		||||
 | 
			
		||||
class CoreActorInterface : public td::actor::Actor {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue