mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-18 09:18:15 +00:00
REVIEW: TextSplit()
Just adding a security check
This commit is contained in:
27
src/text.c
27
src/text.c
@@ -1372,20 +1372,25 @@ const char **TextSplit(const char *text, char delimiter, int *count)
|
|||||||
memset(buffer, 0, MAX_TEXT_BUFFER_LENGTH);
|
memset(buffer, 0, MAX_TEXT_BUFFER_LENGTH);
|
||||||
|
|
||||||
result[0] = buffer;
|
result[0] = buffer;
|
||||||
int counter = 1;
|
int counter = 0;
|
||||||
|
|
||||||
// Count how many substrings we have on text and point to every one
|
if (text != NULL)
|
||||||
for (int i = 0; i < MAX_TEXT_BUFFER_LENGTH; i++)
|
|
||||||
{
|
{
|
||||||
buffer[i] = text[i];
|
counter = 1;
|
||||||
if (buffer[i] == '\0') break;
|
|
||||||
else if (buffer[i] == delimiter)
|
// Count how many substrings we have on text and point to every one
|
||||||
|
for (int i = 0; i < MAX_TEXT_BUFFER_LENGTH; i++)
|
||||||
{
|
{
|
||||||
buffer[i] = '\0'; // Set an end of string at this point
|
buffer[i] = text[i];
|
||||||
result[counter] = buffer + i + 1;
|
if (buffer[i] == '\0') break;
|
||||||
counter++;
|
else if (buffer[i] == delimiter)
|
||||||
|
{
|
||||||
|
buffer[i] = '\0'; // Set an end of string at this point
|
||||||
|
result[counter] = buffer + i + 1;
|
||||||
|
counter++;
|
||||||
|
|
||||||
if (counter == MAX_SUBSTRINGS_COUNT) break;
|
if (counter == MAX_SUBSTRINGS_COUNT) break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user