diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-09-05 11:19:50 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-09-05 16:13:38 +0000 |
commit | 1c9ad7ec7353cccabb6881fd22b116daa3dcbb84 (patch) | |
tree | d1f1a13c0e64b249a0f2e0dc5f3856c0d3d9a4fa /core/fxcrt/fx_guid.cpp | |
parent | 13ea3ff1e33313c7775013acaff4ec218bc632ff (diff) | |
download | pdfium-1c9ad7ec7353cccabb6881fd22b116daa3dcbb84.tar.xz |
Split fx_guid from fx_extension
This CL splits the GUID code out of fx_extension into an fx_guid.h file.
Change-Id: I915538ff98601efb07595264eff6435729193177
Reviewed-on: https://pdfium-review.googlesource.com/13090
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxcrt/fx_guid.cpp')
-rw-r--r-- | core/fxcrt/fx_guid.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/core/fxcrt/fx_guid.cpp b/core/fxcrt/fx_guid.cpp new file mode 100644 index 0000000000..6f130f9d46 --- /dev/null +++ b/core/fxcrt/fx_guid.cpp @@ -0,0 +1,30 @@ +// Copyright 2017 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "core/fxcrt/fx_guid.h" + +#include "core/fxcrt/fx_extension.h" +#include "core/fxcrt/fx_rand.h" + +void FX_GUID_CreateV4(FX_GUID* pGUID) { + FX_Random_GenerateMT((uint32_t*)pGUID, 4); + uint8_t& b = ((uint8_t*)pGUID)[6]; + b = (b & 0x0F) | 0x40; +} + +CFX_ByteString FX_GUID_ToString(const FX_GUID* pGUID, bool bSeparator) { + CFX_ByteString bsStr; + char* pBuf = bsStr.GetBuffer(40); + for (int32_t i = 0; i < 16; i++) { + uint8_t b = reinterpret_cast<const uint8_t*>(pGUID)[i]; + FXSYS_IntToTwoHexChars(b, pBuf); + pBuf += 2; + if (bSeparator && (i == 3 || i == 5 || i == 7 || i == 9)) + *pBuf++ = L'-'; + } + bsStr.ReleaseBuffer(bSeparator ? 36 : 32); + return bsStr; +} |