| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "core/fxcrt/extension.h" | 9 #include "core/fxcrt/extension.h" |
| 10 #include "core/fxcrt/include/fx_basic.h" | 10 #include "core/fxcrt/include/fx_basic.h" |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 return (FX_BOOL)m_pFile->WritePos(buffer, size, offset); | 61 return (FX_BOOL)m_pFile->WritePos(buffer, size, offset); |
| 62 } | 62 } |
| 63 | 63 |
| 64 FX_BOOL CFX_CRTFileStream::Flush() { | 64 FX_BOOL CFX_CRTFileStream::Flush() { |
| 65 return m_pFile->Flush(); | 65 return m_pFile->Flush(); |
| 66 } | 66 } |
| 67 | 67 |
| 68 #ifdef PDF_ENABLE_XFA | 68 #ifdef PDF_ENABLE_XFA |
| 69 IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) { | 69 IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) { |
| 70 if (wsPath.GetLength() == 0) | 70 if (wsPath.GetLength() == 0) |
| 71 return NULL; | 71 return nullptr; |
| 72 | 72 |
| 73 CFX_CRTFileAccess* pFA = NULL; | 73 CFX_CRTFileAccess* pFA = new CFX_CRTFileAccess; |
| 74 pFA = new CFX_CRTFileAccess; | |
| 75 if (NULL == pFA) | |
| 76 return NULL; | |
| 77 | |
| 78 pFA->Init(wsPath); | 74 pFA->Init(wsPath); |
| 79 return pFA; | 75 return pFA; |
| 80 } | 76 } |
| 81 #endif // PDF_ENABLE_XFA | 77 #endif // PDF_ENABLE_XFA |
| 82 | 78 |
| 83 IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, uint32_t dwModes) { | 79 IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, uint32_t dwModes) { |
| 84 std::unique_ptr<IFXCRT_FileAccess> pFA(IFXCRT_FileAccess::Create()); | 80 std::unique_ptr<IFXCRT_FileAccess> pFA(IFXCRT_FileAccess::Create()); |
| 85 if (!pFA->Open(filename, dwModes)) | 81 if (!pFA->Open(filename, dwModes)) |
| 86 return nullptr; | 82 return nullptr; |
| 87 return new CFX_CRTFileStream(std::move(pFA)); | 83 return new CFX_CRTFileStream(std::move(pFA)); |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 ::GetSystemTime(&st1); | 294 ::GetSystemTime(&st1); |
| 299 do { | 295 do { |
| 300 ::GetSystemTime(&st2); | 296 ::GetSystemTime(&st2); |
| 301 } while (FXSYS_memcmp(&st1, &st2, sizeof(SYSTEMTIME)) == 0); | 297 } while (FXSYS_memcmp(&st1, &st2, sizeof(SYSTEMTIME)) == 0); |
| 302 uint32_t dwHash1 = | 298 uint32_t dwHash1 = |
| 303 FX_HashCode_GetA(CFX_ByteStringC((uint8_t*)&st1, sizeof(st1)), true); | 299 FX_HashCode_GetA(CFX_ByteStringC((uint8_t*)&st1, sizeof(st1)), true); |
| 304 uint32_t dwHash2 = | 300 uint32_t dwHash2 = |
| 305 FX_HashCode_GetA(CFX_ByteStringC((uint8_t*)&st2, sizeof(st2)), true); | 301 FX_HashCode_GetA(CFX_ByteStringC((uint8_t*)&st2, sizeof(st2)), true); |
| 306 ::srand((dwHash1 << 16) | (uint32_t)dwHash2); | 302 ::srand((dwHash1 << 16) | (uint32_t)dwHash2); |
| 307 #else | 303 #else |
| 308 time_t tmLast = time(NULL); | 304 time_t tmLast = time(nullptr); |
| 309 time_t tmCur; | 305 time_t tmCur; |
| 310 while ((tmCur = time(NULL)) == tmLast) { | 306 while ((tmCur = time(nullptr)) == tmLast) { |
| 311 continue; | 307 continue; |
| 312 } | 308 } |
| 313 | 309 |
| 314 ::srand((tmCur << 16) | (tmLast & 0xFFFF)); | 310 ::srand((tmCur << 16) | (tmLast & 0xFFFF)); |
| 315 #endif | 311 #endif |
| 316 while (iCount-- > 0) { | 312 while (iCount-- > 0) { |
| 317 *pBuffer++ = (uint32_t)((::rand() << 16) | (::rand() & 0xFFFF)); | 313 *pBuffer++ = (uint32_t)((::rand() << 16) | (::rand() & 0xFFFF)); |
| 318 } | 314 } |
| 319 } | 315 } |
| 320 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 316 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 321 FX_BOOL FX_GenerateCryptoRandom(uint32_t* pBuffer, int32_t iCount) { | 317 FX_BOOL FX_GenerateCryptoRandom(uint32_t* pBuffer, int32_t iCount) { |
| 322 HCRYPTPROV hCP = NULL; | 318 HCRYPTPROV hCP = 0; |
| 323 if (!::CryptAcquireContext(&hCP, NULL, NULL, PROV_RSA_FULL, 0) || !hCP) { | 319 if (!::CryptAcquireContext(&hCP, nullptr, nullptr, PROV_RSA_FULL, 0) || |
| 320 !hCP) { |
| 324 return FALSE; | 321 return FALSE; |
| 325 } | 322 } |
| 326 ::CryptGenRandom(hCP, iCount * sizeof(uint32_t), (uint8_t*)pBuffer); | 323 ::CryptGenRandom(hCP, iCount * sizeof(uint32_t), (uint8_t*)pBuffer); |
| 327 ::CryptReleaseContext(hCP, 0); | 324 ::CryptReleaseContext(hCP, 0); |
| 328 return TRUE; | 325 return TRUE; |
| 329 } | 326 } |
| 330 #endif | 327 #endif |
| 331 void FX_Random_GenerateCrypto(uint32_t* pBuffer, int32_t iCount) { | 328 void FX_Random_GenerateCrypto(uint32_t* pBuffer, int32_t iCount) { |
| 332 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ | 329 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ |
| 333 FX_GenerateCryptoRandom(pBuffer, iCount); | 330 FX_GenerateCryptoRandom(pBuffer, iCount); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 352 b = ((const uint8_t*)pGUID)[i]; | 349 b = ((const uint8_t*)pGUID)[i]; |
| 353 *pBuf++ = gs_FX_pHexChars[b >> 4]; | 350 *pBuf++ = gs_FX_pHexChars[b >> 4]; |
| 354 *pBuf++ = gs_FX_pHexChars[b & 0x0F]; | 351 *pBuf++ = gs_FX_pHexChars[b & 0x0F]; |
| 355 if (bSeparator && (i == 3 || i == 5 || i == 7 || i == 9)) { | 352 if (bSeparator && (i == 3 || i == 5 || i == 7 || i == 9)) { |
| 356 *pBuf++ = L'-'; | 353 *pBuf++ = L'-'; |
| 357 } | 354 } |
| 358 } | 355 } |
| 359 bsStr.ReleaseBuffer(bSeparator ? 36 : 32); | 356 bsStr.ReleaseBuffer(bSeparator ? 36 : 32); |
| 360 } | 357 } |
| 361 #endif // PDF_ENABLE_XFA | 358 #endif // PDF_ENABLE_XFA |
| OLD | NEW |