From 72d07de1933bae3569be19a31be3f75aa7265930 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 4 May 2015 14:14:33 -0700 Subject: Merge to XFA: Fix issuse with != and == shown by fx_basic_bstring unit tests. Original Review URL: https://codereview.chromium.org/1125703004 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1126643003 --- core/src/fxcrt/fx_basic_bstring.cpp | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'core/src/fxcrt/fx_basic_bstring.cpp') diff --git a/core/src/fxcrt/fx_basic_bstring.cpp b/core/src/fxcrt/fx_basic_bstring.cpp index 9cf084c2fb..f18ae0825c 100644 --- a/core/src/fxcrt/fx_basic_bstring.cpp +++ b/core/src/fxcrt/fx_basic_bstring.cpp @@ -251,24 +251,37 @@ const CFX_ByteString& CFX_ByteString::operator+=(FX_BSTR string) ConcatInPlace(string.GetLength(), string.GetCStr()); return *this; } -bool CFX_ByteString::Equal(FX_BSTR str) const +bool CFX_ByteString::Equal(const char* ptr) const +{ + if (!m_pData) { + return !ptr; + } + if (!ptr) { + return false; + } + return strlen(ptr) == m_pData->m_nDataLength && + FXSYS_memcmp32(ptr, m_pData->m_String, m_pData->m_nDataLength) == 0; +} +bool CFX_ByteString::Equal(const CFX_ByteStringC& str) const { if (m_pData == NULL) { return str.IsEmpty(); } return m_pData->m_nDataLength == str.GetLength() && - FXSYS_memcmp32(m_pData->m_String, str.GetCStr(), str.GetLength()) == 0; + FXSYS_memcmp32(m_pData->m_String, str.GetCStr(), str.GetLength()) == 0; } -bool CFX_ByteString::operator ==(const CFX_ByteString& s2) const +bool CFX_ByteString::Equal(const CFX_ByteString& other) const { - if (m_pData == NULL) { - return s2.IsEmpty(); + if (!m_pData) { + return other.IsEmpty(); } - if (s2.m_pData == NULL) { + if (!other.m_pData) { return false; } - return m_pData->m_nDataLength == s2.m_pData->m_nDataLength && - FXSYS_memcmp32(m_pData->m_String, s2.m_pData->m_String, m_pData->m_nDataLength) == 0; + return other.m_pData->m_nDataLength == m_pData->m_nDataLength && + FXSYS_memcmp32(other.m_pData->m_String, + m_pData->m_String, + m_pData->m_nDataLength) == 0; } void CFX_ByteString::Empty() { -- cgit v1.2.3