From b69da0b96ffdad124efd1b48d51c617bb216a98e Mon Sep 17 00:00:00 2001 From: Bruce Dawson Date: Mon, 8 Dec 2014 13:10:02 -0800 Subject: 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 --- core/src/fpdfapi/fpdf_font/fpdf_font.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core/src/fpdfapi/fpdf_font') 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]); -- cgit v1.2.3