mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	
		
			
	
	
		
			54 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /** 
 | ||
|  |  @file callbacks.c | ||
|  |  @brief ENet callback functions | ||
|  | */ | ||
|  | #define ENET_BUILDING_LIB 1
 | ||
|  | #include "enet/enet.h"
 | ||
|  | 
 | ||
|  | static ENetCallbacks callbacks = { malloc, free, abort }; | ||
|  | 
 | ||
|  | int | ||
|  | enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits) | ||
|  | { | ||
|  |    if (version < ENET_VERSION_CREATE (1, 3, 0)) | ||
|  |      return -1; | ||
|  | 
 | ||
|  |    if (inits -> malloc != NULL || inits -> free != NULL) | ||
|  |    { | ||
|  |       if (inits -> malloc == NULL || inits -> free == NULL) | ||
|  |         return -1; | ||
|  | 
 | ||
|  |       callbacks.malloc = inits -> malloc; | ||
|  |       callbacks.free = inits -> free; | ||
|  |    } | ||
|  |        | ||
|  |    if (inits -> no_memory != NULL) | ||
|  |      callbacks.no_memory = inits -> no_memory; | ||
|  | 
 | ||
|  |    return enet_initialize (); | ||
|  | } | ||
|  | 
 | ||
|  | ENetVersion | ||
|  | enet_linked_version (void) | ||
|  | { | ||
|  |     return ENET_VERSION; | ||
|  | } | ||
|  |             | ||
|  | void * | ||
|  | enet_malloc (size_t size) | ||
|  | { | ||
|  |    void * memory = callbacks.malloc (size); | ||
|  | 
 | ||
|  |    if (memory == NULL) | ||
|  |      callbacks.no_memory (); | ||
|  | 
 | ||
|  |    return memory; | ||
|  | } | ||
|  | 
 | ||
|  | void | ||
|  | enet_free (void * memory) | ||
|  | { | ||
|  |    callbacks.free (memory); | ||
|  | } | ||
|  | 
 |