Chromium Code Reviews| Index: core/fxcrt/fx_extension.cpp |
| diff --git a/core/fxcrt/fx_extension.cpp b/core/fxcrt/fx_extension.cpp |
| index 1dddf09fd677a2a581ceab77d253846a3831fc5b..588143b9a7ba1d38a8c2278619d3a67de3b321ba 100644 |
| --- a/core/fxcrt/fx_extension.cpp |
| +++ b/core/fxcrt/fx_extension.cpp |
| @@ -14,14 +14,10 @@ |
| #include <ctime> |
| #endif |
| -CFX_CRTFileStream::CFX_CRTFileStream(IFXCRT_FileAccess* pFA) |
| - : m_pFile(pFA), m_dwCount(1) {} |
| +CFX_CRTFileStream::CFX_CRTFileStream(std::unique_ptr<IFXCRT_FileAccess> pFA) |
| + : m_pFile(std::move(pFA)), m_dwCount(1) {} |
|
Lei Zhang
2016/05/19 23:59:02
#include <utility>
Tom Sepez
2016/05/20 00:13:52
Done.
|
| -CFX_CRTFileStream::~CFX_CRTFileStream() { |
| - if (m_pFile) { |
| - m_pFile->Release(); |
| - } |
| -} |
| +CFX_CRTFileStream::~CFX_CRTFileStream() {} |
| IFX_FileStream* CFX_CRTFileStream::Retain() { |
| m_dwCount++; |
| @@ -83,27 +79,18 @@ IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) { |
| #endif // PDF_ENABLE_XFA |
| IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, uint32_t dwModes) { |
| - IFXCRT_FileAccess* pFA = FXCRT_FileAccess_Create(); |
| - if (!pFA) { |
| - return NULL; |
| - } |
| - if (!pFA->Open(filename, dwModes)) { |
| - pFA->Release(); |
| - return NULL; |
| - } |
| - return new CFX_CRTFileStream(pFA); |
| + std::unique_ptr<IFXCRT_FileAccess> pFA(IFXCRT_FileAccess::Create()); |
| + if (!pFA->Open(filename, dwModes)) |
| + return nullptr; |
| + return new CFX_CRTFileStream(std::move(pFA)); |
| } |
| + |
| IFX_FileStream* FX_CreateFileStream(const FX_WCHAR* filename, |
| uint32_t dwModes) { |
| - IFXCRT_FileAccess* pFA = FXCRT_FileAccess_Create(); |
| - if (!pFA) { |
| - return NULL; |
| - } |
| - if (!pFA->Open(filename, dwModes)) { |
| - pFA->Release(); |
| - return NULL; |
| - } |
| - return new CFX_CRTFileStream(pFA); |
| + std::unique_ptr<IFXCRT_FileAccess> pFA(IFXCRT_FileAccess::Create()); |
| + if (!pFA->Open(filename, dwModes)) |
| + return nullptr; |
| + return new CFX_CRTFileStream(std::move(pFA)); |
| } |
| IFX_FileRead* FX_CreateFileRead(const FX_CHAR* filename) { |
| return FX_CreateFileStream(filename, FX_FILEMODE_ReadOnly); |