mirror of
				https://github.com/N64Recomp/N64ModernRuntime.git
				synced 2025-10-30 08:02:29 +00:00 
			
		
		
		
	Allow freeing null pointers in the recomp_free export to match the C spec for free (#107)
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				validate / windows (x64, Debug) (push) Has been cancelled
				
			
		
			
				
	
				validate / windows (x64, Release) (push) Has been cancelled
				
			
		
			
				
	
				validate / macos (arm64, Debug) (push) Has been cancelled
				
			
		
			
				
	
				validate / macos (arm64, Release) (push) Has been cancelled
				
			
		
			
				
	
				validate / macos (x64, Debug) (push) Has been cancelled
				
			
		
			
				
	
				validate / macos (x64, Release) (push) Has been cancelled
				
			
		
			
				
	
				validate / ubuntu (arm64, Debug) (push) Has been cancelled
				
			
		
			
				
	
				validate / ubuntu (arm64, Release) (push) Has been cancelled
				
			
		
			
				
	
				validate / ubuntu (x64, Debug) (push) Has been cancelled
				
			
		
			
				
	
				validate / ubuntu (x64, Release) (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	validate / windows (x64, Debug) (push) Has been cancelled
				
			validate / windows (x64, Release) (push) Has been cancelled
				
			validate / macos (arm64, Debug) (push) Has been cancelled
				
			validate / macos (arm64, Release) (push) Has been cancelled
				
			validate / macos (x64, Debug) (push) Has been cancelled
				
			validate / macos (x64, Release) (push) Has been cancelled
				
			validate / ubuntu (arm64, Debug) (push) Has been cancelled
				
			validate / ubuntu (arm64, Release) (push) Has been cancelled
				
			validate / ubuntu (x64, Debug) (push) Has been cancelled
				
			validate / ubuntu (x64, Release) (push) Has been cancelled
				
			This commit is contained in:
		
							parent
							
								
									3c49f87ac6
								
							
						
					
					
						commit
						4b57f50722
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		|  | @ -2,6 +2,7 @@ | |||
| 
 | ||||
| #include "librecomp/addresses.hpp" | ||||
| #include "librecomp/overlays.hpp" | ||||
| #include "librecomp/helpers.hpp" | ||||
| 
 | ||||
| static uint32_t heap_offset; | ||||
| 
 | ||||
|  | @ -15,7 +16,12 @@ extern "C" void recomp_alloc(uint8_t* rdram, recomp_context* ctx) { | |||
| } | ||||
| 
 | ||||
| extern "C" void recomp_free(uint8_t* rdram, recomp_context* ctx) { | ||||
|     recomp::free(rdram, TO_PTR(void, ctx->r4)); | ||||
|     PTR(void) to_free = _arg<0, PTR(void)>(rdram, ctx); | ||||
|     // Handle NULL frees.
 | ||||
|     if (to_free == NULLPTR) { | ||||
|         return; | ||||
|     } | ||||
|     recomp::free(rdram, TO_PTR(void, to_free)); | ||||
| } | ||||
| 
 | ||||
| void recomp::register_heap_exports() { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Wiseguy
						Wiseguy