summaryrefslogtreecommitdiff
path: root/core/src/fxcrt/fx_xml_parser.cpp
diff options
context:
space:
mode:
authorBruce Dawson <brucedawson@google.com>2014-12-08 13:10:02 -0800
committerBruce Dawson <brucedawson@google.com>2014-12-08 13:10:02 -0800
commitb69da0b96ffdad124efd1b48d51c617bb216a98e (patch)
tree61d7c0212eaf4998591d0b941bfceb5646778062 /core/src/fxcrt/fx_xml_parser.cpp
parent4b87f7b5f8fe26ee4869a21a8b0b4697cba51a93 (diff)
downloadpdfium-b69da0b96ffdad124efd1b48d51c617bb216a98e.tar.xz
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) R=bo_xu@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/733693003
Diffstat (limited to 'core/src/fxcrt/fx_xml_parser.cpp')
-rw-r--r--core/src/fxcrt/fx_xml_parser.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/core/src/fxcrt/fx_xml_parser.cpp b/core/src/fxcrt/fx_xml_parser.cpp
index 26c6540350..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;