summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/UUID.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/UUID.cpp')
-rw-r--r--Source/WebCore/platform/UUID.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/WebCore/platform/UUID.cpp b/Source/WebCore/platform/UUID.cpp
index 7f59081..fce0645 100644
--- a/Source/WebCore/platform/UUID.cpp
+++ b/Source/WebCore/platform/UUID.cpp
@@ -44,6 +44,7 @@
#elif OS(LINUX) && !PLATFORM(CHROMIUM)
#include <stdio.h>
#elif (OS(LINUX) && PLATFORM(CHROMIUM)) || (OS(DARWIN) && !USE(CF))
+#include <wtf/HexNumber.h>
#include <wtf/RandomNumber.h>
#include <wtf/text/StringBuilder.h>
#endif
@@ -100,17 +101,18 @@ String createCanonicalUUIDString()
// Format as Version 4 UUID.
StringBuilder builder;
- builder.append(String::format("%08x", randomData[0]));
+ appendUnsignedAsHexFixedSize(randomData[0], builder, 8, Lowercase);
builder.append("-");
- builder.append(String::format("%04x", randomData[1] >> 16));
+ appendUnsignedAsHexFixedSize(randomData[1] >> 16, builder, 4, Lowercase);
builder.append("-4");
- builder.append(String::format("%03x", randomData[1] & 0x00000fff));
+ appendUnsignedAsHexFixedSize(randomData[1] & 0x00000fff, builder, 3, Lowercase);
builder.append("-");
- builder.append(String::format("%x", (randomData[2] >> 30) | 0x8)); // Condense this byte to 8, 9, a, and b.
- builder.append(String::format("%03x", (randomData[2] >> 16) & 0x00000fff));
+ appendUnsignedAsHexFixedSize((randomData[2] >> 30) | 0x8, builder, 1, Lowercase);
+ appendUnsignedAsHexFixedSize((randomData[2] >> 16) & 0x00000fff, builder, 3, Lowercase);
builder.append("-");
- builder.append(String::format("%04x", randomData[2] & 0x0000ffff));
- builder.append(String::format("%08x", randomData[3]));
+ appendUnsignedAsHexFixedSize(randomData[2] & 0x0000ffff, builder, 4, Lowercase);
+ appendUnsignedAsHexFixedSize(randomData[3], builder, 8, Lowercase);
+ builder.append("\n");
return builder.toString();
#else
notImplemented();