Index: util/misc/uuid.cc |
diff --git a/util/misc/uuid.cc b/util/misc/uuid.cc |
index 64f4e97e20c698e7b9df3579d3fc1045786d07aa..a460550aae5a8e7f08cad0d11e5245e34c0d2d8f 100644 |
--- a/util/misc/uuid.cc |
+++ b/util/misc/uuid.cc |
@@ -18,45 +18,37 @@ |
#include "base/basictypes.h" |
#include "base/strings/stringprintf.h" |
-#include "util/stdlib/cxx.h" |
- |
-#if CXX_LIBRARY_VERSION >= 2011 |
-#include <type_traits> |
-#endif |
+#include "base/sys_byteorder.h" |
namespace crashpad { |
-#if CXX_LIBRARY_VERSION >= 2011 |
-COMPILE_ASSERT(std::is_standard_layout<UUID>::value, |
- UUID_must_be_standard_layout); |
-#endif |
- |
-UUID::UUID() : data() { |
+UUID::UUID() : data_1(0), data_2(0), data_3(0), data_4(), data_5() { |
} |
UUID::UUID(const uint8_t* bytes) { |
- memcpy(data, bytes, sizeof(data)); |
+ InitializeFromBytes(bytes); |
+} |
+ |
+void UUID::InitializeFromBytes(const uint8_t* bytes) { |
+ memcpy(this, bytes, sizeof(*this)); |
+ data_1 = base::NetToHost32(data_1); |
+ data_2 = base::NetToHost16(data_2); |
+ data_3 = base::NetToHost16(data_3); |
} |
std::string UUID::ToString() const { |
- return base::StringPrintf( |
- "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", |
- data[0], |
- data[1], |
- data[2], |
- data[3], |
- data[4], |
- data[5], |
- data[6], |
- data[7], |
- data[8], |
- data[9], |
- data[10], |
- data[11], |
- data[12], |
- data[13], |
- data[14], |
- data[15]); |
+ return base::StringPrintf("%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", |
+ data_1, |
+ data_2, |
+ data_3, |
+ data_4[0], |
+ data_4[1], |
+ data_5[0], |
+ data_5[1], |
+ data_5[2], |
+ data_5[3], |
+ data_5[4], |
+ data_5[5]); |
} |
} // namespace crashpad |