mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-11-04 01:34:38 +00:00 
			
		
		
		
	Add POINTER suffix to SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC
This commit is contained in:
		@@ -301,7 +301,7 @@ extern SDL_DECLSPEC SDL_IOStream * SDLCALL SDL_IOFromFile(const char *file, cons
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Additionally, the following properties are recognized:
 | 
					 * Additionally, the following properties are recognized:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * - `SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC`: if this property is set to a
 | 
					 * - `SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER`: if this property is set to a
 | 
				
			||||||
 *   non-NULL value it will be interpreted as a function of SDL_free_func type
 | 
					 *   non-NULL value it will be interpreted as a function of SDL_free_func type
 | 
				
			||||||
 *   and called with the passed `mem` pointer when closing the stream. By
 | 
					 *   and called with the passed `mem` pointer when closing the stream. By
 | 
				
			||||||
 *   default it is unset, i.e., the memory will not be freed.
 | 
					 *   default it is unset, i.e., the memory will not be freed.
 | 
				
			||||||
@@ -327,7 +327,7 @@ extern SDL_DECLSPEC SDL_IOStream * SDLCALL SDL_IOFromMem(void *mem, size_t size)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define SDL_PROP_IOSTREAM_MEMORY_POINTER "SDL.iostream.memory.base"
 | 
					#define SDL_PROP_IOSTREAM_MEMORY_POINTER "SDL.iostream.memory.base"
 | 
				
			||||||
#define SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER  "SDL.iostream.memory.size"
 | 
					#define SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER  "SDL.iostream.memory.size"
 | 
				
			||||||
#define SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC "SDL.iostream.memory.free"
 | 
					#define SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER "SDL.iostream.memory.free"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Use this function to prepare a read-only memory buffer for use with
 | 
					 * Use this function to prepare a read-only memory buffer for use with
 | 
				
			||||||
@@ -354,7 +354,7 @@ extern SDL_DECLSPEC SDL_IOStream * SDLCALL SDL_IOFromMem(void *mem, size_t size)
 | 
				
			|||||||
 *
 | 
					 *
 | 
				
			||||||
 * Additionally, the following properties are recognized:
 | 
					 * Additionally, the following properties are recognized:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * - `SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC`: if this property is set to a
 | 
					 * - `SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER`: if this property is set to a
 | 
				
			||||||
 *   non-NULL value it will be interpreted as a function of SDL_free_func type
 | 
					 *   non-NULL value it will be interpreted as a function of SDL_free_func type
 | 
				
			||||||
 *   and called with the passed `mem` pointer when closing the stream. By
 | 
					 *   and called with the passed `mem` pointer when closing the stream. By
 | 
				
			||||||
 *   default it is unset, i.e., the memory will not be freed.
 | 
					 *   default it is unset, i.e., the memory will not be freed.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -781,7 +781,7 @@ static size_t SDLCALL mem_write(void *userdata, const void *ptr, size_t size, SD
 | 
				
			|||||||
static bool SDLCALL mem_close(void *userdata)
 | 
					static bool SDLCALL mem_close(void *userdata)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    IOStreamMemData *iodata = (IOStreamMemData *) userdata;
 | 
					    IOStreamMemData *iodata = (IOStreamMemData *) userdata;
 | 
				
			||||||
    SDL_free_func free_func = SDL_GetPointerProperty(iodata->props, SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC, NULL);
 | 
					    SDL_free_func free_func = SDL_GetPointerProperty(iodata->props, SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER, NULL);
 | 
				
			||||||
    if (free_func) {
 | 
					    if (free_func) {
 | 
				
			||||||
        free_func(iodata->base);
 | 
					        free_func(iodata->base);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -342,7 +342,7 @@ static int SDLCALL iostrm_testMemWithFree(void *arg)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /* Set the free function */
 | 
					    /* Set the free function */
 | 
				
			||||||
    free_call_count = 0;
 | 
					    free_call_count = 0;
 | 
				
			||||||
    result = SDL_SetPointerProperty(SDL_GetIOProperties(rw), SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC, test_free);
 | 
					    result = SDL_SetPointerProperty(SDL_GetIOProperties(rw), SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER, test_free);
 | 
				
			||||||
    SDLTest_AssertPass("Call to SDL_SetPointerProperty() succeeded");
 | 
					    SDLTest_AssertPass("Call to SDL_SetPointerProperty() succeeded");
 | 
				
			||||||
    SDLTest_AssertCheck(result == true, "Verify result value is true; got %d", result);
 | 
					    SDLTest_AssertCheck(result == true, "Verify result value is true; got %d", result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user