From b5575d31eb7c0e59c0ecb2fcf7617c055719a59c Mon Sep 17 00:00:00 2001 From: IntelOrca Date: Sat, 31 May 2014 16:47:30 +0100 Subject: [PATCH] fix more format string bugs --- src/string_ids.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/string_ids.c b/src/string_ids.c index 11a5703f12..c67eba118f 100644 --- a/src/string_ids.c +++ b/src/string_ids.c @@ -1387,6 +1387,7 @@ void format_string_code(unsigned char format_code, char **dest, char **args) *args += 2; format_string_part(dest, value, args); + (*dest)--; break; case FORMAT_STRING: // Pop argument @@ -1538,7 +1539,7 @@ void format_string_part(char **dest, rct_string_id format, char **args) // args += (format & 0xC00) >> 9; format &= ~0xC00; strcpy(*dest, RCT2_ADDRESS(0x135A8F4 + (format * 32), char)); - *dest = strchr(*dest, 0); + *dest = strchr(*dest, 0) + 1; } else if (format < 0xE000) { // Real name format -= -0xA000; @@ -1546,7 +1547,7 @@ void format_string_part(char **dest, rct_string_id format, char **args) real_names[format % countof(real_names)], real_name_initials[(format >> 10) % countof(real_name_initials)] ); - *dest = strchr(*dest, 0); + *dest = strchr(*dest, 0) + 1; } else { // ? RCT2_CALLPROC_EBPSAFE(RCT2_ADDRESS(0x0095AFB8, uint32)[format]);