| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -18,6 +18,7 @@ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//    Leonard Ritter
 | 
					 | 
					 | 
					 | 
					//    Leonard Ritter
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//    Stefano Zanotti
 | 
					 | 
					 | 
					 | 
					//    Stefano Zanotti
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//    Adam Allison
 | 
					 | 
					 | 
					 | 
					//    Adam Allison
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					//    Kevin Schmidt
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//
 | 
					 | 
					 | 
					 | 
					//
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					// LICENSE:
 | 
					 | 
					 | 
					 | 
					// LICENSE:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//
 | 
					 | 
					 | 
					 | 
					//
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -139,25 +140,37 @@ PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					"...512 char string..." ( 35.0x/32.5x faster!) | 
					 | 
					 | 
					 | 
					"...512 char string..." ( 35.0x/32.5x faster!) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					*/ | 
					 | 
					 | 
					 | 
					*/ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#if defined(__has_feature) | 
					 | 
					 | 
					 | 
					#if defined(__clang__) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 #if defined(__has_feature) && defined(__has_attribute) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  #if __has_feature(address_sanitizer) | 
					 | 
					 | 
					 | 
					  #if __has_feature(address_sanitizer) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      #define STBI__ASAN __attribute__((no_sanitize("address"))) | 
					 | 
					 | 
					 | 
					   #if __has_attribute(__no_sanitize__) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    #define STBSP__ASAN __attribute__((__no_sanitize__("address"))) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					   #elif __has_attribute(__no_sanitize_address__) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    #define STBSP__ASAN __attribute__((__no_sanitize_address__)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					   #elif __has_attribute(__no_address_safety_analysis__) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    #define STBSP__ASAN __attribute__((__no_address_safety_analysis__)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					   #endif | 
					 | 
					 | 
					 | 
					   #endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  #endif | 
					 | 
					 | 
					 | 
					  #endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifndef STBI__ASAN | 
					 | 
					 | 
					 | 
					 #endif | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBI__ASAN | 
					 | 
					 | 
					 | 
					#elif __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 #if __SANITIZE_ADDRESS__ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  #define STBSP__ASAN __attribute__((__no_sanitize_address__)) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 #endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#ifndef STBSP__ASAN | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define STBSP__ASAN | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif | 
					 | 
					 | 
					 | 
					#endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifdef STB_SPRINTF_STATIC | 
					 | 
					 | 
					 | 
					#ifdef STB_SPRINTF_STATIC | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC static | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC static | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF static STBI__ASAN | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF static STBSP__ASAN | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else | 
					 | 
					 | 
					 | 
					#else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#ifdef __cplusplus | 
					 | 
					 | 
					 | 
					#ifdef __cplusplus | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC extern "C" | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC extern "C" | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF extern "C" STBI__ASAN | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF extern "C" STBSP__ASAN | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#else | 
					 | 
					 | 
					 | 
					#else | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC extern | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEC extern | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF STBI__ASAN | 
					 | 
					 | 
					 | 
					#define STBSP__PUBLICDEF STBSP__ASAN | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif | 
					 | 
					 | 
					 | 
					#endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif | 
					 | 
					 | 
					 | 
					#endif | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |