Move CJS_Field::ParseFieldName() into an anonymous namespace. It does not need to be part of CJS_Field. Change-Id: I64b5ad69deefd381f14f5195b9afd9258f00c498 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/61551 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp index 37aa797..ba0aa1e 100644 --- a/fxjs/cjs_field.cpp +++ b/fxjs/cjs_field.cpp
@@ -132,6 +132,36 @@ pFormFillEnv->SetChangeMark(); } +// note: iControlNo = -1, means not a widget. +void ParseFieldName(const WideString& strFieldNameParsed, + WideString& strFieldName, + int& iControlNo) { + auto reverse_it = strFieldNameParsed.rbegin(); + while (reverse_it != strFieldNameParsed.rend()) { + if (*reverse_it == L'.') + break; + ++reverse_it; + } + if (reverse_it == strFieldNameParsed.rend()) { + strFieldName = strFieldNameParsed; + iControlNo = -1; + return; + } + WideString suffixal = + strFieldNameParsed.Right(reverse_it - strFieldNameParsed.rbegin()); + iControlNo = FXSYS_wtoi(suffixal.c_str()); + if (iControlNo == 0) { + suffixal.TrimRight(L' '); + if (suffixal != L"0") { + strFieldName = strFieldNameParsed; + iControlNo = -1; + return; + } + } + strFieldName = + strFieldNameParsed.Left(strFieldNameParsed.rend() - reverse_it - 1); +} + std::vector<CPDF_FormField*> GetFormFieldsForName( CPDFSDK_FormFillEnvironment* pFormFillEnv, const WideString& csFieldName) { @@ -576,36 +606,6 @@ CJS_Field::~CJS_Field() = default; -// note: iControlNo = -1, means not a widget. -void CJS_Field::ParseFieldName(const WideString& strFieldNameParsed, - WideString& strFieldName, - int& iControlNo) { - auto reverse_it = strFieldNameParsed.rbegin(); - while (reverse_it != strFieldNameParsed.rend()) { - if (*reverse_it == L'.') - break; - ++reverse_it; - } - if (reverse_it == strFieldNameParsed.rend()) { - strFieldName = strFieldNameParsed; - iControlNo = -1; - return; - } - WideString suffixal = - strFieldNameParsed.Right(reverse_it - strFieldNameParsed.rbegin()); - iControlNo = FXSYS_wtoi(suffixal.c_str()); - if (iControlNo == 0) { - suffixal.TrimRight(L' '); - if (suffixal != L"0") { - strFieldName = strFieldNameParsed; - iControlNo = -1; - return; - } - } - strFieldName = - strFieldNameParsed.Left(strFieldNameParsed.rend() - reverse_it - 1); -} - bool CJS_Field::AttachField(CJS_Document* pDocument, const WideString& csFieldName) { m_pJSDoc.Reset(pDocument);
diff --git a/fxjs/cjs_field.h b/fxjs/cjs_field.h index fd40b1f..d772e66 100644 --- a/fxjs/cjs_field.h +++ b/fxjs/cjs_field.h
@@ -350,9 +350,6 @@ const std::vector<v8::Local<v8::Value>>& params); void SetDelay(bool bDelay); - void ParseFieldName(const WideString& strFieldNameParsed, - WideString& strFieldName, - int& iControlNo); std::vector<CPDF_FormField*> GetFormFields() const; CPDF_FormField* GetFirstFormField() const; CPDF_FormControl* GetSmartFieldControl(CPDF_FormField* pFormField);