diff options
Diffstat (limited to 'core/fxcrt')
-rw-r--r-- | core/fxcrt/fx_basic.h | 2 | ||||
-rw-r--r-- | core/fxcrt/fx_basic_buffer.cpp | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/core/fxcrt/fx_basic.h b/core/fxcrt/fx_basic.h index e974e3061c..7096e6f8df 100644 --- a/core/fxcrt/fx_basic.h +++ b/core/fxcrt/fx_basic.h @@ -41,7 +41,7 @@ class CFX_BinaryBuf { void Delete(int start_index, int count); // Releases ownership of |m_pBuffer| and returns it. - uint8_t* DetachBuffer(); + std::unique_ptr<uint8_t, FxFreeDeleter> DetachBuffer(); protected: void ExpandBuf(FX_STRSIZE size); diff --git a/core/fxcrt/fx_basic_buffer.cpp b/core/fxcrt/fx_basic_buffer.cpp index fcd156b079..14a85c2ee5 100644 --- a/core/fxcrt/fx_basic_buffer.cpp +++ b/core/fxcrt/fx_basic_buffer.cpp @@ -6,6 +6,8 @@ #include <algorithm> #include <limits> +#include <memory> +#include <utility> #include "core/fxcrt/fx_basic.h" #include "core/fxcrt/fx_safe_types.h" @@ -36,10 +38,10 @@ void CFX_BinaryBuf::Clear() { m_DataSize = 0; } -uint8_t* CFX_BinaryBuf::DetachBuffer() { +std::unique_ptr<uint8_t, FxFreeDeleter> CFX_BinaryBuf::DetachBuffer() { m_DataSize = 0; m_AllocSize = 0; - return m_pBuffer.release(); + return std::move(m_pBuffer); } void CFX_BinaryBuf::EstimateSize(FX_STRSIZE size, FX_STRSIZE step) { |