diff options
author | Bruce Dawson <brucedawson@google.com> | 2014-12-23 12:21:02 -0800 |
---|---|---|
committer | Bruce Dawson <brucedawson@google.com> | 2014-12-23 12:21:02 -0800 |
commit | 0a476d22c89eb99d36dfd6c9955dd12d1513a870 (patch) | |
tree | 6f66fd7da1565546bd1b0d0447d827463c1d5988 /core/src/fxcrt | |
parent | 1be4117d0ea336203680c64d9d0a1ae1d5a6cf61 (diff) | |
download | pdfium-0a476d22c89eb99d36dfd6c9955dd12d1513a870.tar.xz |
XFA: merge patch from CL 733693003, getting rid of more casts
Getting rid of more (FX_LPCWSTR) casts and fixing two bugs revealed by this.
Since casts to FX_LPCWSTR have been shown to hide bugs I tried removing
more of them, targeting those places where a cast was used to force a
conversion from CFX_WideString to FX_LPCWSTR, replacing these casts with
calls to the newly added .c_str() function. This revealed two places
where the cast was hiding a bug -- where ->c_str() was required instead!
This removes ~33 FX_LPCWSTR casts and there are ~31 left, many of which
will go away in some future change.
Also includes this change:
Removing unnecessary casts from wchar_t* to wchar_t*, by various names.
Original patch from Bruce Dawson(brucedawson@chromium.org)
TBR=bo_xu@foxitsoftware.com, tsepez@chromium.org
Review URL: https://codereview.chromium.org/811593007
Diffstat (limited to 'core/src/fxcrt')
-rw-r--r-- | core/src/fxcrt/fx_basic_bstring.cpp | 2 | ||||
-rw-r--r-- | core/src/fxcrt/fx_basic_buffer.cpp | 2 | ||||
-rw-r--r-- | core/src/fxcrt/fx_extension.cpp | 2 | ||||
-rw-r--r-- | core/src/fxcrt/fx_xml_parser.cpp | 9 | ||||
-rw-r--r-- | core/src/fxcrt/fxcrt_platforms.cpp | 2 |
5 files changed, 6 insertions, 11 deletions
diff --git a/core/src/fxcrt/fx_basic_bstring.cpp b/core/src/fxcrt/fx_basic_bstring.cpp index 60153fa45a..c54148d799 100644 --- a/core/src/fxcrt/fx_basic_bstring.cpp +++ b/core/src/fxcrt/fx_basic_bstring.cpp @@ -971,7 +971,7 @@ CFX_ByteString CFX_ByteString::FromUnicode(FX_LPCWSTR str, FX_STRSIZE len) } CFX_ByteString CFX_ByteString::FromUnicode(const CFX_WideString& str) { - return FromUnicode((FX_LPCWSTR)str, str.GetLength()); + return FromUnicode(str.c_str(), str.GetLength()); } void CFX_ByteString::ConvertFrom(const CFX_WideString& str, CFX_CharMap* pCharMap) { diff --git a/core/src/fxcrt/fx_basic_buffer.cpp b/core/src/fxcrt/fx_basic_buffer.cpp index 1734423253..b208142d92 100644 --- a/core/src/fxcrt/fx_basic_buffer.cpp +++ b/core/src/fxcrt/fx_basic_buffer.cpp @@ -192,7 +192,7 @@ CFX_WideTextBuf& CFX_WideTextBuf::operator << (FX_WSTR str) } CFX_WideTextBuf& CFX_WideTextBuf::operator << (const CFX_WideString &str) { - AppendBlock((FX_LPCWSTR)str, str.GetLength() * sizeof(FX_WCHAR)); + AppendBlock(str.c_str(), str.GetLength() * sizeof(FX_WCHAR)); return *this; } CFX_WideTextBuf& CFX_WideTextBuf::operator << (int i) diff --git a/core/src/fxcrt/fx_extension.cpp b/core/src/fxcrt/fx_extension.cpp index 330c675457..e74c52d4a8 100644 --- a/core/src/fxcrt/fx_extension.cpp +++ b/core/src/fxcrt/fx_extension.cpp @@ -158,7 +158,7 @@ FX_FLOAT FXSYS_strtof(FX_LPCSTR pcsStr, FX_INT32 iLength, FX_INT32 *pUsedLen) iLength = (FX_INT32)FXSYS_strlen(pcsStr); } CFX_WideString ws = CFX_WideString::FromLocal(pcsStr, iLength); - return FXSYS_wcstof((FX_LPCWSTR)ws, iLength, pUsedLen); + return FXSYS_wcstof(ws.c_str(), iLength, pUsedLen); } FX_FLOAT FXSYS_wcstof(FX_LPCWSTR pwsStr, FX_INT32 iLength, FX_INT32 *pUsedLen) { diff --git a/core/src/fxcrt/fx_xml_parser.cpp b/core/src/fxcrt/fx_xml_parser.cpp index ea471d4792..8049a5587e 100644 --- a/core/src/fxcrt/fx_xml_parser.cpp +++ b/core/src/fxcrt/fx_xml_parser.cpp @@ -670,18 +670,13 @@ FX_BOOL CXML_Element::GetAttrValue(FX_BSTR name, CFX_WideString& attribute) cons { CFX_ByteStringC bsSpace, bsName; FX_XML_SplitQualifiedName(name, bsSpace, bsName); - const CFX_WideString* pValue = m_AttrMap.Lookup(bsSpace, bsName); - if (pValue) { - attribute = CFX_WideString((FX_LPCWSTR)*pValue, pValue->GetLength()); - return TRUE; - } - return FALSE; + return GetAttrValue(bsSpace, bsName, attribute); } FX_BOOL CXML_Element::GetAttrValue(FX_BSTR space, FX_BSTR name, CFX_WideString& attribute) const { const CFX_WideString* pValue = m_AttrMap.Lookup(space, name); if (pValue) { - attribute = CFX_WideString((FX_LPCWSTR)*pValue, pValue->GetLength()); + attribute = *pValue; return TRUE; } return FALSE; diff --git a/core/src/fxcrt/fxcrt_platforms.cpp b/core/src/fxcrt/fxcrt_platforms.cpp index e14e362079..1c47ee6c9b 100644 --- a/core/src/fxcrt/fxcrt_platforms.cpp +++ b/core/src/fxcrt/fxcrt_platforms.cpp @@ -56,7 +56,7 @@ FX_BOOL CFXCRT_FileAccess_CRT::Open(FX_WSTR fileName, FX_DWORD dwMode) } CFX_WideString strMode; FXCRT_GetFileModeString(dwMode, strMode); - m_hFile = FXSYS_wfopen(fileName.GetPtr(), (FX_LPCWSTR)strMode); + m_hFile = FXSYS_wfopen(fileName.GetPtr(), strMode.c_str()); return m_hFile != NULL; } void CFXCRT_FileAccess_CRT::Close() |