diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-04-27 11:47:29 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-04-27 11:47:29 -0700 |
commit | e6f11a7b95e26affba59a7057776a787056af8df (patch) | |
tree | ac7e527683debb15df04102b9fe333e552965909 /core/src/fpdfdoc | |
parent | f7a7d7e07396c3a0fae617ed8f15f29fd491bc3a (diff) | |
download | pdfium-e6f11a7b95e26affba59a7057776a787056af8df.tar.xz |
Reduce usage of operator LPCWSTR from CFX_WideString().
This involves adding some explicit c_str() calls. Doing so flagged
PDF_EncodeText() and FindOptionValue() as having suboptimal signatures, in
that we are often throwing away a perfectly fine length and recomputing it.
There are still some platform-specific code that needs the operator.
R=brucedawson@chromium.org
Review URL: https://codereview.chromium.org/1101933003
Diffstat (limited to 'core/src/fpdfdoc')
-rw-r--r-- | core/src/fpdfdoc/doc_ap.cpp | 6 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_basic.cpp | 2 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_form.cpp | 5 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_formfield.cpp | 8 |
4 files changed, 11 insertions, 10 deletions
diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp index ccc800aa1a..8a195a747d 100644 --- a/core/src/fpdfdoc/doc_ap.cpp +++ b/core/src/fpdfdoc/doc_ap.cpp @@ -464,7 +464,7 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict vt.SetLimitChar(dwMaxLen); } vt.Initialize(); - vt.SetText(swValue); + vt.SetText(swValue.c_str()); vt.RearrangeAll(); CPDF_Rect rcContent = vt.GetContentRect(); CPDF_Point ptOffset(0.0f, 0.0f); @@ -502,7 +502,7 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict vt.SetFontSize(fFontSize); } vt.Initialize(); - vt.SetText(swValue); + vt.SetText(swValue.c_str()); vt.RearrangeAll(); CPDF_Rect rcContent = vt.GetContentRect(); CPDF_Point ptOffset = CPDF_Point(0.0f, (rcContent.Height() - rcEdit.Height()) / 2.0f); @@ -573,7 +573,7 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict vt.SetFontSize(fFontSize); } vt.Initialize(); - vt.SetText(swItem); + vt.SetText(swItem.c_str()); vt.RearrangeAll(); FX_FLOAT fItemHeight = vt.GetContentRect().Height(); if (bSelected) { diff --git a/core/src/fpdfdoc/doc_basic.cpp b/core/src/fpdfdoc/doc_basic.cpp index 496ed86122..48f3ccae98 100644 --- a/core/src/fpdfdoc/doc_basic.cpp +++ b/core/src/fpdfdoc/doc_basic.cpp @@ -567,6 +567,6 @@ FX_INT32 CPDF_PageLabel::GetPageByLabel(FX_BSTR bsLabel) const } FX_INT32 CPDF_PageLabel::GetPageByLabel(FX_WSTR wsLabel) const { - CFX_ByteString bsLabel = PDF_EncodeText((CFX_WideString)wsLabel); + CFX_ByteString bsLabel = PDF_EncodeText(wsLabel.GetPtr()); return GetPageByLabel(bsLabel); } diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp index 47f4a9139c..db56adc58d 100644 --- a/core/src/fpdfdoc/doc_form.cpp +++ b/core/src/fpdfdoc/doc_form.cpp @@ -34,7 +34,7 @@ class _CFieldNameExtractor public: _CFieldNameExtractor(const CFX_WideString& full_name) { - m_pStart = full_name; + m_pStart = full_name.c_str(); m_pEnd = m_pStart + full_name.GetLength(); m_pCur = m_pStart; } @@ -733,7 +733,8 @@ int CPDF_InterForm::CompareFieldName(const CFX_ByteString& name1, const CFX_Byte } int CPDF_InterForm::CompareFieldName(const CFX_WideString& name1, const CFX_WideString& name2) { - FX_LPCWSTR ptr1 = name1, ptr2 = name2; + FX_LPCWSTR ptr1 = name1.c_str(); + FX_LPCWSTR ptr2 = name2.c_str(); if (name1.GetLength() != name2.GetLength()) { int i = 0; while (ptr1[i] == ptr2[i]) { diff --git a/core/src/fpdfdoc/doc_formfield.cpp b/core/src/fpdfdoc/doc_formfield.cpp index a2f0fbd297..6de46de08a 100644 --- a/core/src/fpdfdoc/doc_formfield.cpp +++ b/core/src/fpdfdoc/doc_formfield.cpp @@ -646,7 +646,7 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index, FX_BOOL bSelected, FX_BOOL b if (m_Type == ListBox) { SelectOption(index, TRUE); if (!(m_Flags & FORMLIST_MULTISELECT)) { - m_pDict->SetAtString("V", PDF_EncodeText(opt_value, opt_value.GetLength())); + m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); } else { CPDF_Array* pArray = CPDF_Array::Create(); if (pArray == NULL) { @@ -668,7 +668,7 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index, FX_BOOL bSelected, FX_BOOL b m_pDict->SetAt("V", pArray); } } else if (m_Type == ComboBox) { - m_pDict->SetAtString("V", PDF_EncodeText(opt_value, opt_value.GetLength())); + m_pDict->SetAtString("V", PDF_EncodeText(opt_value)); CPDF_Array* pI = CPDF_Array::Create(); if (pI == NULL) { return FALSE; @@ -783,7 +783,7 @@ int CPDF_FormField::FindOption(CFX_WideString csOptLabel) } return -1; } -int CPDF_FormField::FindOptionValue(FX_LPCWSTR csOptValue, int iStartIndex) +int CPDF_FormField::FindOptionValue(const CFX_WideString& csOptValue, int iStartIndex) { if (iStartIndex < 0) { iStartIndex = 0; @@ -811,7 +811,7 @@ FX_BOOL CPDF_FormField::CheckControl(int iControlIndex, FX_BOOL bChecked, FX_BOO if (bNotify && m_pForm->m_pFormNotify != NULL) { SaveCheckedFieldStatus(this, statusArray); } - CFX_WideString csWExport = pControl->GetExportValue(); + CFX_WideString csWExport = pControl->GetExportValue(); CFX_ByteString csBExport = PDF_EncodeText(csWExport); int iCount = CountControls(); FX_BOOL bUnison = PDF_FormField_IsUnison(this); |