|
|
@ -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; |
|
|
|
} |
|
|
|