mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-01-05 14:08:20 +01:00
Replace GB_WSU_SAFE_SWPRINTF_TERMINATE with inline code (#145 followup).
r=bryner http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/f77da3d219cf9388 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@140 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
825840253b
commit
30fc9ce1c0
6 changed files with 28 additions and 26 deletions
|
|
@ -49,8 +49,10 @@ wstring GUIDString::GUIDToWString(GUID *guid) {
|
|||
guid->Data4[0], guid->Data4[1], guid->Data4[2],
|
||||
guid->Data4[3], guid->Data4[4], guid->Data4[5],
|
||||
guid->Data4[6], guid->Data4[7]);
|
||||
GB_WSU_SAFE_SWPRINTF_TERMINATE(guid_string,
|
||||
sizeof(guid_string) / sizeof(guid_string[0]));
|
||||
|
||||
// remove when VC++7.1 is no longer supported
|
||||
guid_string[sizeof(guid_string) / sizeof(guid_string[0]) - 1] = L'\0';
|
||||
|
||||
return wstring(guid_string);
|
||||
}
|
||||
|
||||
|
|
@ -64,8 +66,10 @@ wstring GUIDString::GUIDToSymbolServerWString(GUID *guid) {
|
|||
guid->Data4[0], guid->Data4[1], guid->Data4[2],
|
||||
guid->Data4[3], guid->Data4[4], guid->Data4[5],
|
||||
guid->Data4[6], guid->Data4[7]);
|
||||
GB_WSU_SAFE_SWPRINTF_TERMINATE(guid_string,
|
||||
sizeof(guid_string) / sizeof(guid_string[0]));
|
||||
|
||||
// remove when VC++7.1 is no longer supported
|
||||
guid_string[sizeof(guid_string) / sizeof(guid_string[0]) - 1] = L'\0';
|
||||
|
||||
return wstring(guid_string);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -230,7 +230,10 @@ wstring HTTPUpload::GenerateMultipartBoundary() {
|
|||
|
||||
wchar_t temp[kBoundaryLength];
|
||||
swprintf(temp, kBoundaryLength, L"%s%08X%08X", kBoundaryPrefix, r0, r1);
|
||||
GB_WSU_SAFE_SWPRINTF_TERMINATE(temp, kBoundaryLength);
|
||||
|
||||
// remove when VC++7.1 is no longer supported
|
||||
temp[kBoundaryLength - 1] = L'\0';
|
||||
|
||||
return wstring(temp);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -725,8 +725,9 @@ bool PDBSourceLineWriter::GetModuleInfo(PDBModuleInfo *info) {
|
|||
wchar_t age_string[9];
|
||||
swprintf(age_string, sizeof(age_string) / sizeof(age_string[0]),
|
||||
L"%x", age);
|
||||
GB_WSU_SAFE_SWPRINTF_TERMINATE(age_string,
|
||||
sizeof(age_string) / sizeof(age_string[0]));
|
||||
|
||||
// remove when VC++7.1 is no longer supported
|
||||
age_string[sizeof(age_string) / sizeof(age_string[0]) - 1] = L'\0';
|
||||
|
||||
info->debug_identifier = GUIDString::GUIDToSymbolServerWString(&guid);
|
||||
info->debug_identifier.append(age_string);
|
||||
|
|
@ -742,9 +743,11 @@ bool PDBSourceLineWriter::GetModuleInfo(PDBModuleInfo *info) {
|
|||
swprintf(identifier_string,
|
||||
sizeof(identifier_string) / sizeof(identifier_string[0]),
|
||||
L"%08X%x", signature, age);
|
||||
GB_WSU_SAFE_SWPRINTF_TERMINATE(identifier_string,
|
||||
sizeof(identifier_string) /
|
||||
sizeof(identifier_string[0]));
|
||||
|
||||
// remove when VC++7.1 is no longer supported
|
||||
identifier_string[sizeof(identifier_string) /
|
||||
sizeof(identifier_string[0]) - 1] = L'\0';
|
||||
|
||||
info->debug_identifier = identifier_string;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,19 +49,6 @@
|
|||
#define WIN_STRING_FORMAT_LL "I64"
|
||||
#endif // MSC_VER >= 1400
|
||||
|
||||
// When using swprintf, call GB_WSU_SWPRINTF_TERMINATE afterwards using the
|
||||
// first two arguments to swprintf. This will ensure that the buffer is
|
||||
// 0-terminated. MSVC8's swprintf always 0-terminates the buffer, so the
|
||||
// macro is a no-op. This is done in a macro rather than a function
|
||||
// because the function approach relies on vswprintf, which is incompatible
|
||||
// with some analysis tools.
|
||||
#if _MSC_VER >= 1400 // MSVC 2005/8
|
||||
#define GB_WSU_SAFE_SWPRINTF_TERMINATE(buffer, count);
|
||||
#else // _MSC_VER >= 1400
|
||||
#define GB_WSU_SAFE_SWPRINTF_TERMINATE(buffer, count); \
|
||||
(buffer)[(count) - 1] = L'\0';
|
||||
#endif // _MSC_VER >= 1400
|
||||
|
||||
namespace google_breakpad {
|
||||
|
||||
using std::string;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue