summaryrefslogtreecommitdiff
path: root/core/src
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
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')
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font.cpp2
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp6
-rw-r--r--core/src/fpdfdoc/doc_form.cpp2
-rw-r--r--core/src/fxcrt/fx_basic_bstring.cpp2
-rw-r--r--core/src/fxcrt/fx_basic_buffer.cpp2
-rw-r--r--core/src/fxcrt/fx_extension.cpp2
-rw-r--r--core/src/fxcrt/fx_xml_parser.cpp9
-rw-r--r--core/src/fxcrt/fxcrt_platforms.cpp2
8 files changed, 11 insertions, 16 deletions
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
index 36b6ce2b5b..dd646ca113 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
@@ -228,7 +228,7 @@ CFX_ByteString CPDF_Font::EncodeString(const CFX_WideString& str) const
CFX_ByteString result;
int src_len = str.GetLength();
FX_LPSTR dest_buf = result.GetBuffer(src_len * 2);
- FX_LPCWSTR src_buf = str;
+ FX_LPCWSTR src_buf = str.c_str();
int dest_pos = 0;
for (int src_pos = 0; src_pos < src_len; src_pos ++) {
FX_DWORD charcode = CharCodeFromUnicode(src_buf[src_pos]);
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
index dd4eeddc17..e431c6ad3c 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
@@ -175,9 +175,9 @@ void FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString& fi
if (filepath[2] != '\\') {
result += '/';
}
- result += ChangeSlash((FX_LPCWSTR)filepath + 2);
+ result += ChangeSlash(filepath.c_str() + 2);
} else if (filepath.GetLength() > 1 && filepath[0] == '\\' && filepath[1] == '\\') {
- result = ChangeSlash((FX_LPCWSTR)filepath + 1);
+ result = ChangeSlash(filepath.c_str() + 1);
} else {
result = ChangeSlash(filepath);
}
@@ -217,7 +217,7 @@ CFX_WideString FPDF_FileSpec_GetWin32Path(const CPDF_Object* pFileSpec)
CFX_WideString result;
result += wsFileName[1];
result += ':';
- result += ChangeSlash(((FX_LPCWSTR)wsFileName) + 2);
+ result += ChangeSlash(wsFileName.c_str() + 2);
return result;
} else {
CFX_WideString result;
diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp
index 821b9981b8..6b7e6bf2d6 100644
--- a/core/src/fpdfdoc/doc_form.cpp
+++ b/core/src/fpdfdoc/doc_form.cpp
@@ -161,7 +161,7 @@ CFieldTree::_Node *CFieldTree::_Lookup(_Node *pParent, const CFX_WideString &sho
for (int i = 0; i < ptr_array.GetSize(); i ++) {
_Node *pNode = (_Node *)ptr_array[i];
if (pNode->short_name.GetLength() == short_name.GetLength() &&
- FXSYS_memcmp32((FX_LPCWSTR)pNode->short_name, (FX_LPCWSTR)short_name, short_name.GetLength()*sizeof(FX_WCHAR)) == 0) {
+ FXSYS_memcmp32(pNode->short_name.c_str(), short_name.c_str(), short_name.GetLength()*sizeof(FX_WCHAR)) == 0) {
return pNode;
}
}
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 7ff6b062b4..6e82ab3d5c 100644
--- a/core/src/fxcrt/fx_extension.cpp
+++ b/core/src/fxcrt/fx_extension.cpp
@@ -146,7 +146,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 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;
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()