|  |  | @ -1540,21 +1540,21 @@ const char *TextSubtext(const char *text, int position, int length) | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (position >= textLength) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | position = textLength - 1; | 
		
	
		
			
			|  |  |  | length = 0; | 
		
	
		
			
			|  |  |  | return buffer; //First char is already '\0' by memset | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (length >= textLength) length = textLength; | 
		
	
		
			
			|  |  |  | int maxLength = textLength - position; | 
		
	
		
			
			|  |  |  | if (length > maxLength) length = maxLength; | 
		
	
		
			
			|  |  |  | if (length >= MAX_TEXT_BUFFER_LENGTH) length = MAX_TEXT_BUFFER_LENGTH - 1; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // NOTE: Alternative: memcpy(buffer, text + position, length) | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | for (int c = 0 ; c < length ; c++) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | *(buffer + c) = *(text + position); | 
		
	
		
			
			|  |  |  | text++; | 
		
	
		
			
			|  |  |  | buffer[c] = text[position + c]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | o">*(buffer + length) = '\0'; | 
		
	
		
			
			|  |  |  | n">buffer[length] = '\0'; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | return buffer; | 
		
	
		
			
			|  |  |  | } | 
		
	
	
		
			
				|  |  |  |