Make CPDF_PSFunc::m_PS mutable.
Preferred over const_cast<> to show how that state is used.
Change-Id: Ia6fe6bf46fb7fa8e701481b1604073b5d7f222fa
Reviewed-on: https://pdfium-review.googlesource.com/39870
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_psfunc.cpp b/core/fpdfapi/page/cpdf_psfunc.cpp
index be0afe9..13d76ae 100644
--- a/core/fpdfapi/page/cpdf_psfunc.cpp
+++ b/core/fpdfapi/page/cpdf_psfunc.cpp
@@ -21,14 +21,13 @@
}
bool CPDF_PSFunc::v_Call(const float* inputs, float* results) const {
- CPDF_PSEngine& PS = const_cast<CPDF_PSEngine&>(m_PS);
- PS.Reset();
+ m_PS.Reset();
for (uint32_t i = 0; i < m_nInputs; i++)
- PS.Push(inputs[i]);
- PS.Execute();
- if (PS.GetStackSize() < m_nOutputs)
+ m_PS.Push(inputs[i]);
+ m_PS.Execute();
+ if (m_PS.GetStackSize() < m_nOutputs)
return false;
for (uint32_t i = 0; i < m_nOutputs; i++)
- results[m_nOutputs - i - 1] = PS.Pop();
+ results[m_nOutputs - i - 1] = m_PS.Pop();
return true;
}
diff --git a/core/fpdfapi/page/cpdf_psfunc.h b/core/fpdfapi/page/cpdf_psfunc.h
index 459da5a..1274c21 100644
--- a/core/fpdfapi/page/cpdf_psfunc.h
+++ b/core/fpdfapi/page/cpdf_psfunc.h
@@ -25,7 +25,7 @@
bool v_Call(const float* inputs, float* results) const override;
private:
- CPDF_PSEngine m_PS;
+ mutable CPDF_PSEngine m_PS; // Pre-initialized scratch space for v_Call().
};
#endif // CORE_FPDFAPI_PAGE_CPDF_PSFUNC_H_