|
|
@ -2922,6 +2922,7 @@ static void PlayAutomationEvent(unsigned int frame) |
|
|
|
#if !defined(SUPPORT_MODULE_RTEXT) |
|
|
|
// Formatting of text with variables to 'embed' |
|
|
|
// WARNING: String returned will expire after this function is called MAX_TEXTFORMAT_BUFFERS times |
|
|
|
|
|
|
|
const char *TextFormat(const char *text, ...) |
|
|
|
{ |
|
|
|
#ifndef MAX_TEXTFORMAT_BUFFERS |
|
|
@ -2940,12 +2941,21 @@ const char *TextFormat(const char *text, ...) |
|
|
|
|
|
|
|
va_list args; |
|
|
|
va_start(args, text); |
|
|
|
vsnprintf(currentBuffer, MAX_TEXT_BUFFER_LENGTH, text, args); |
|
|
|
kt">int charCountRequired = vsnprintf(currentBuffer, MAX_TEXT_BUFFER_LENGTH, text, args); |
|
|
|
va_end(args); |
|
|
|
|
|
|
|
// If charCountRequired is larger than the MAX_TEXT_BUFFER_LENGTH, then overflow occured |
|
|
|
if(charCountRequired > MAX_TEXT_BUFFER_LENGTH) |
|
|
|
{ |
|
|
|
// We are going to insert [TRUN] at the end of the string so the user knows what happened |
|
|
|
char *truncBuffer = buffers[index] + MAX_TEXT_BUFFER_LENGTH - 7; // 7 = six letters + '\0' |
|
|
|
sprintf(truncBuffer, "[TRUN]"); |
|
|
|
} |
|
|
|
|
|
|
|
index += 1; // Move to next buffer for next function call |
|
|
|
if (index >= MAX_TEXTFORMAT_BUFFERS) index = 0; |
|
|
|
|
|
|
|
return currentBuffer; |
|
|
|
} |
|
|
|
|
|
|
|
#endif // !SUPPORT_MODULE_RTEXT |