| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cctype> | 10 #include <cctype> |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 return other.IsEmpty(); | 187 return other.IsEmpty(); |
| 188 | 188 |
| 189 if (other.IsEmpty()) | 189 if (other.IsEmpty()) |
| 190 return false; | 190 return false; |
| 191 | 191 |
| 192 return other.m_pData->m_nDataLength == m_pData->m_nDataLength && | 192 return other.m_pData->m_nDataLength == m_pData->m_nDataLength && |
| 193 wmemcmp(other.m_pData->m_String, m_pData->m_String, | 193 wmemcmp(other.m_pData->m_String, m_pData->m_String, |
| 194 m_pData->m_nDataLength) == 0; | 194 m_pData->m_nDataLength) == 0; |
| 195 } | 195 } |
| 196 | 196 |
| 197 bool CFX_WideString::operator<(const CFX_WideString& str) const { |
| 198 if (m_pData == str.m_pData) |
| 199 return false; |
| 200 |
| 201 int result = |
| 202 wmemcmp(c_str(), str.c_str(), std::min(GetLength(), str.GetLength())); |
| 203 return result < 0 || (result == 0 && GetLength() < str.GetLength()); |
| 204 } |
| 205 |
| 197 void CFX_WideString::AssignCopy(const FX_WCHAR* pSrcData, FX_STRSIZE nSrcLen) { | 206 void CFX_WideString::AssignCopy(const FX_WCHAR* pSrcData, FX_STRSIZE nSrcLen) { |
| 198 AllocBeforeWrite(nSrcLen); | 207 AllocBeforeWrite(nSrcLen); |
| 199 m_pData->CopyContents(pSrcData, nSrcLen); | 208 m_pData->CopyContents(pSrcData, nSrcLen); |
| 200 m_pData->m_nDataLength = nSrcLen; | 209 m_pData->m_nDataLength = nSrcLen; |
| 201 } | 210 } |
| 202 | 211 |
| 203 void CFX_WideString::ReallocBeforeWrite(FX_STRSIZE nNewLength) { | 212 void CFX_WideString::ReallocBeforeWrite(FX_STRSIZE nNewLength) { |
| 204 if (m_pData && m_pData->CanOperateInPlace(nNewLength)) | 213 if (m_pData && m_pData->CanOperateInPlace(nNewLength)) |
| 205 return; | 214 return; |
| 206 | 215 |
| (...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1003 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); | 1012 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); |
| 1004 CFX_WideString wstr; | 1013 CFX_WideString wstr; |
| 1005 if (dest_len) { | 1014 if (dest_len) { |
| 1006 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); | 1015 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); |
| 1007 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, | 1016 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, |
| 1008 dest_len); | 1017 dest_len); |
| 1009 wstr.ReleaseBuffer(dest_len); | 1018 wstr.ReleaseBuffer(dest_len); |
| 1010 } | 1019 } |
| 1011 return wstr; | 1020 return wstr; |
| 1012 } | 1021 } |
| OLD | NEW |