From e6c67cd64a80bd67c587ad3ffb380fe1b7574d1f Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Wed, 9 Aug 2017 14:10:02 -0400 Subject: Make CFX_ByteString(ostringstream) const. Change-Id: I782379cc7f93b93ed34a5d0a39ee2f198c650465 Reviewed-on: https://pdfium-review.googlesource.com/10430 Reviewed-by: Tom Sepez Commit-Queue: Henrique Nakashima --- core/fxcrt/cfx_bytestring.cpp | 9 ++++++--- core/fxcrt/cfx_bytestring.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/fxcrt/cfx_bytestring.cpp b/core/fxcrt/cfx_bytestring.cpp index f6634fc51d..c29d24affd 100644 --- a/core/fxcrt/cfx_bytestring.cpp +++ b/core/fxcrt/cfx_bytestring.cpp @@ -10,6 +10,7 @@ #include #include +#include #include "core/fxcrt/cfx_string_pool_template.h" #include "core/fxcrt/fx_codepage.h" @@ -195,9 +196,11 @@ CFX_ByteString::CFX_ByteString( } } -CFX_ByteString::CFX_ByteString(std::ostringstream& outStream) - : CFX_ByteString(outStream.str().c_str(), - static_cast(outStream.tellp())) {} +CFX_ByteString::CFX_ByteString(const std::ostringstream& outStream) { + std::string str = outStream.str(); + if (str.length() > 0) + m_pData.Reset(StringData::Create(str.c_str(), str.length())); +} CFX_ByteString::~CFX_ByteString() {} diff --git a/core/fxcrt/cfx_bytestring.h b/core/fxcrt/cfx_bytestring.h index 3f96c2f2f6..cf688b4c88 100644 --- a/core/fxcrt/cfx_bytestring.h +++ b/core/fxcrt/cfx_bytestring.h @@ -46,7 +46,7 @@ class CFX_ByteString { explicit CFX_ByteString(const CFX_ByteStringC& bstrc); CFX_ByteString(const CFX_ByteStringC& bstrc1, const CFX_ByteStringC& bstrc2); CFX_ByteString(const std::initializer_list& list); - explicit CFX_ByteString(std::ostringstream& outStream); + explicit CFX_ByteString(const std::ostringstream& outStream); ~CFX_ByteString(); -- cgit v1.2.3