| 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> |
| 11 | 11 |
| 12 #include "core/fxcrt/include/cfx_string_pool_template.h" |
| 12 #include "core/fxcrt/include/fx_basic.h" | 13 #include "core/fxcrt/include/fx_basic.h" |
| 13 #include "core/fxcrt/include/fx_ext.h" | 14 #include "core/fxcrt/include/fx_ext.h" |
| 14 #include "third_party/base/numerics/safe_math.h" | 15 #include "third_party/base/numerics/safe_math.h" |
| 15 | 16 |
| 16 template class CFX_StringDataTemplate<FX_WCHAR>; | 17 template class CFX_StringDataTemplate<FX_WCHAR>; |
| 17 template class CFX_StringCTemplate<FX_WCHAR>; | 18 template class CFX_StringCTemplate<FX_WCHAR>; |
| 19 template class CFX_StringPoolTemplate<CFX_WideString>; |
| 20 template struct std::hash<CFX_WideString>; |
| 18 | 21 |
| 19 namespace { | 22 namespace { |
| 20 | 23 |
| 21 #ifndef NDEBUG | 24 #ifndef NDEBUG |
| 22 bool IsValidCodePage(uint16_t codepage) { | 25 bool IsValidCodePage(uint16_t codepage) { |
| 23 switch (codepage) { | 26 switch (codepage) { |
| 24 case 0: | 27 case 0: |
| 25 case 932: | 28 case 932: |
| 26 case 936: | 29 case 936: |
| 27 case 949: | 30 case 949: |
| (...skipping 975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1003 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); | 1006 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); |
| 1004 CFX_WideString wstr; | 1007 CFX_WideString wstr; |
| 1005 if (dest_len) { | 1008 if (dest_len) { |
| 1006 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); | 1009 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); |
| 1007 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, | 1010 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, |
| 1008 dest_len); | 1011 dest_len); |
| 1009 wstr.ReleaseBuffer(dest_len); | 1012 wstr.ReleaseBuffer(dest_len); |
| 1010 } | 1013 } |
| 1011 return wstr; | 1014 return wstr; |
| 1012 } | 1015 } |
| OLD | NEW |