| Index: src/common/linux/file_id.cc
|
| diff --git a/src/common/linux/file_id.cc b/src/common/linux/file_id.cc
|
| index e8dc528d07684c687a10865436864adeee32620d..02207758acc91d6bbc54478d289455ecb4abf6ae 100644
|
| --- a/src/common/linux/file_id.cc
|
| +++ b/src/common/linux/file_id.cc
|
| @@ -164,8 +164,18 @@ bool FileID::ElfFileIdentifier(wasteful_vector<uint8_t>& identifier) {
|
| return ElfFileIdentifierFromMappedFile(mapped_file.data(), identifier);
|
| }
|
|
|
| -// This function is not ever called in an unsafe context, so it's OK
|
| +// These three functions are not ever called in an unsafe context, so it's OK
|
| // to allocate memory and use libc.
|
| +static string bytes_to_hex_string(const uint8_t* bytes, size_t count) {
|
| + string result;
|
| + for (unsigned int idx = 0; idx < count; ++idx) {
|
| + char buf[3];
|
| + snprintf(buf, sizeof(buf), "%02X", bytes[idx]);
|
| + result.append(buf);
|
| + }
|
| + return result;
|
| +}
|
| +
|
| // static
|
| string FileID::ConvertIdentifierToUUIDString(
|
| const wasteful_vector<uint8_t>& identifier) {
|
| @@ -181,13 +191,13 @@ string FileID::ConvertIdentifierToUUIDString(
|
| uint16_t* data3 = reinterpret_cast<uint16_t*>(identifier_swapped + 6);
|
| *data3 = htons(*data3);
|
|
|
| - string result;
|
| - for (unsigned int idx = 0; idx < kMDGUIDSize; ++idx) {
|
| - char buf[3];
|
| - snprintf(buf, sizeof(buf), "%02X", identifier_swapped[idx]);
|
| - result.append(buf);
|
| - }
|
| - return result;
|
| + return bytes_to_hex_string(identifier_swapped, kMDGUIDSize);
|
| +}
|
| +
|
| +// static
|
| +string FileID::ConvertIdentifierToString(
|
| + const wasteful_vector<uint8_t>& identifier) {
|
| + return bytes_to_hex_string(&identifier[0], identifier.size());
|
| }
|
|
|
| } // namespace google_breakpad
|
|
|