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/fpdfapi | |
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/fpdfapi')
-rw-r--r-- | core/src/fpdfapi/fpdf_font/fpdf_font.cpp | 2 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp | 6 |
2 files changed, 4 insertions, 4 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; |