From e1c2f6d7fe7a50280161832799550a3ee8f98088 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 7 Aug 2018 20:17:23 +0000 Subject: Remove WideString::Format() from ThrowException() methods. No need for variadic printf-like functions, since callers can cobble arguments into a string much more simply. Change-Id: I0e8d6f6a55a3715ef9d5c6940b73ce8bb2220a1a Reviewed-on: https://pdfium-review.googlesource.com/39611 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- fxjs/cfxjse_formcalc_context.cpp | 25 +++++++++---------------- fxjs/cfxjse_formcalc_context.h | 2 +- fxjs/xfa/cjx_object.cpp | 20 +++++++------------- fxjs/xfa/cjx_object.h | 2 +- 4 files changed, 18 insertions(+), 31 deletions(-) diff --git a/fxjs/cfxjse_formcalc_context.cpp b/fxjs/cfxjse_formcalc_context.cpp index 4201059c06..9973df69aa 100644 --- a/fxjs/cfxjse_formcalc_context.cpp +++ b/fxjs/cfxjse_formcalc_context.cpp @@ -6199,8 +6199,8 @@ void CFXJSE_FormCalcContext::GlobalPropertyGetter(CFXJSE_Value* pValue) { void CFXJSE_FormCalcContext::ThrowNoDefaultPropertyException( const ByteStringView& name) const { - ThrowException(L"%ls doesn't have a default property.", - WideString::FromUTF8(name).c_str()); + ThrowException(WideString::FromUTF8(name) + + L" doesn't have a default property."); } void CFXJSE_FormCalcContext::ThrowCompilerErrorException() const { @@ -6218,28 +6218,21 @@ void CFXJSE_FormCalcContext::ThrowServerDeniedException() const { void CFXJSE_FormCalcContext::ThrowPropertyNotInObjectException( const WideString& name, const WideString& exp) const { - ThrowException( - L"An attempt was made to reference property '%ls' of a non-object " - L"in SOM expression %ls.", - name.c_str(), exp.c_str()); + ThrowException(L"An attempt was made to reference property '" + name + + L"' of a non-object in SOM expression " + exp + L"."); } void CFXJSE_FormCalcContext::ThrowParamCountMismatchException( const WideString& method) const { - ThrowException(L"Incorrect number of parameters calling method '%ls'.", - method.c_str()); + ThrowException(L"Incorrect number of parameters calling method '" + method + + L"'."); } void CFXJSE_FormCalcContext::ThrowArgumentMismatchException() const { ThrowException(L"Argument mismatch in property or function argument."); } -void CFXJSE_FormCalcContext::ThrowException(const wchar_t* str, ...) const { - va_list arg_ptr; - va_start(arg_ptr, str); - WideString wsMessage = WideString::FormatV(str, arg_ptr); - va_end(arg_ptr); - - ASSERT(!wsMessage.IsEmpty()); - FXJSE_ThrowMessage(wsMessage.UTF8Encode().AsStringView()); +void CFXJSE_FormCalcContext::ThrowException(const WideString& str) const { + ASSERT(!str.IsEmpty()); + FXJSE_ThrowMessage(str.UTF8Encode().AsStringView()); } diff --git a/fxjs/cfxjse_formcalc_context.h b/fxjs/cfxjse_formcalc_context.h index e95cc5f98c..ef1cd3495f 100644 --- a/fxjs/cfxjse_formcalc_context.h +++ b/fxjs/cfxjse_formcalc_context.h @@ -399,7 +399,7 @@ class CFXJSE_FormCalcContext : public CFXJSE_HostObject { const WideString& exp) const; void ThrowArgumentMismatchException() const; void ThrowParamCountMismatchException(const WideString& method) const; - void ThrowException(const wchar_t* str, ...) const; + void ThrowException(const WideString& str) const; UnownedPtr m_pIsolate; CFXJSE_Class* m_pFMClass; diff --git a/fxjs/xfa/cjx_object.cpp b/fxjs/xfa/cjx_object.cpp index 23e754d4b7..8684212ce2 100644 --- a/fxjs/xfa/cjx_object.cpp +++ b/fxjs/xfa/cjx_object.cpp @@ -178,9 +178,8 @@ CJS_Return CJX_Object::RunMethod( } void CJX_Object::ThrowTooManyOccurancesException(const WideString& obj) const { - ThrowException( - L"The element [%ls] has violated its allowable number of occurrences.", - obj.c_str()); + ThrowException(L"The element [" + obj + + L"] has violated its allowable number of occurrences."); } void CJX_Object::ThrowInvalidPropertyException() const { @@ -193,22 +192,17 @@ void CJX_Object::ThrowIndexOutOfBoundsException() const { void CJX_Object::ThrowParamCountMismatchException( const WideString& method) const { - ThrowException(L"Incorrect number of parameters calling method '%ls'.", - method.c_str()); + ThrowException(L"Incorrect number of parameters calling method '" + method + + L"'."); } void CJX_Object::ThrowArgumentMismatchException() const { ThrowException(L"Argument mismatch in property or function argument."); } -void CJX_Object::ThrowException(const wchar_t* str, ...) const { - va_list arg_ptr; - va_start(arg_ptr, str); - WideString wsMessage = WideString::FormatV(str, arg_ptr); - va_end(arg_ptr); - - ASSERT(!wsMessage.IsEmpty()); - FXJSE_ThrowMessage(wsMessage.UTF8Encode().AsStringView()); +void CJX_Object::ThrowException(const WideString& str) const { + ASSERT(!str.IsEmpty()); + FXJSE_ThrowMessage(str.UTF8Encode().AsStringView()); } bool CJX_Object::HasAttribute(XFA_Attribute eAttr) { diff --git a/fxjs/xfa/cjx_object.h b/fxjs/xfa/cjx_object.h index c9042b5049..4116f378ca 100644 --- a/fxjs/xfa/cjx_object.h +++ b/fxjs/xfa/cjx_object.h @@ -222,7 +222,7 @@ class CJX_Object { void DefineMethods(pdfium::span methods); void MoveBufferMapData(CXFA_Object* pSrcModule, CXFA_Object* pDstModule); void SetMapModuleString(void* pKey, const WideStringView& wsValue); - void ThrowException(const wchar_t* str, ...) const; + void ThrowException(const WideString& str) const; private: void Script_Boolean_DefaultValue(CFXJSE_Value* pValue, -- cgit v1.2.3