diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index 753094b..3250094 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -406,10 +406,10 @@
   }
 }
 
-void SetValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
-              const WideString& swFieldName,
-              int nControlIndex,
-              const std::vector<WideString>& strArray) {
+void SetFieldValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
+                   const WideString& swFieldName,
+                   int nControlIndex,
+                   const std::vector<WideString>& strArray) {
   ASSERT(pFormFillEnv);
   if (strArray.empty())
     return;
@@ -2154,7 +2154,8 @@
   if (m_bDelay) {
     AddDelay_WideStringArray(FP_VALUE, strArray);
   } else {
-    SetValue(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex, strArray);
+    SetFieldValue(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
+                  strArray);
   }
   return CJS_Result::Success();
 }
@@ -2651,8 +2652,8 @@
               pData->rect);
       break;
     case FP_VALUE:
-      SetValue(pFormFillEnv, pData->sFieldName, pData->nControlIndex,
-               pData->widestringarray);
+      SetFieldValue(pFormFillEnv, pData->sFieldName, pData->nControlIndex,
+                    pData->widestringarray);
       break;
     default:
       NOTREACHED();
