Skip to content

Commit 7094419

Browse files
committed
thcrap: yes, this really is necessary.
1 parent f272683 commit 7094419

File tree

5 files changed

+22
-0
lines changed

5 files changed

+22
-0
lines changed

thcrap/src/strings.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,24 @@ const char* strings_vsprintf(const size_t slot, const char *format, va_list va)
285285
return format;
286286
}
287287

288+
// Only use if the thing being sprinf'ed into is a fixed size buffer that's used all across the engine
289+
// Try to avoid if the string is used for anything other than showing it on screen!
290+
int strings_vsnprintf(char* const fixed_size_buffer, size_t buf_len, const char* format, va_list va) {
291+
format = strings_lookup(format, NULL);
292+
293+
if (format) {
294+
va_list va2;
295+
va_copy(va2, va);
296+
strings_va_lookup(va2, format);
297+
memset(fixed_size_buffer, 0, buf_len);
298+
auto ret = vsnprintf(fixed_size_buffer, buf_len - 1, format, va2);
299+
va_end(va2);
300+
return ret;
301+
}
302+
303+
return 0;
304+
}
305+
288306
const char* strings_vsprintf_msvcrt14(const char *format, const size_t slot, va_list va)
289307
{
290308
return strings_vsprintf(slot, format, va);

thcrap/thcrap_x64.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@ EXPORTS
443443
strings_sprintf
444444
strings_vsprintf
445445
strings_vsprintf_msvcrt14
446+
strings_vsnprintf
446447
strings_strclr
447448
strings_strcat
448449
strings_replace

thcrap/thcrap_x64_d.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ EXPORTS
442442
strings_sprintf
443443
strings_vsprintf
444444
strings_vsprintf_msvcrt14
445+
strings_vsnprintf
445446
strings_strclr
446447
strings_strcat
447448
strings_replace

thcrap/thcrap_x86.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ EXPORTS
442442
strings_sprintf
443443
strings_vsprintf
444444
strings_vsprintf_msvcrt14
445+
strings_vsnprintf
445446
strings_strclr
446447
strings_strcat
447448
strings_replace

thcrap/thcrap_x86_d.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,7 @@ EXPORTS
442442
strings_sprintf
443443
strings_vsprintf
444444
strings_vsprintf_msvcrt14
445+
strings_vsnprintf
445446
strings_strclr
446447
strings_strcat
447448
strings_replace

0 commit comments

Comments
 (0)