From a5e828194788497a88199686ffd900d5a943b174 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 23 Sep 2009 16:14:25 +0200 Subject: [PATCH] jscript: Avoid calling JS builtin functions directly. --- dlls/jscript/string.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/dlls/jscript/string.c b/dlls/jscript/string.c index b44cbfd65d5..b7d689f7ceb 100644 --- a/dlls/jscript/string.c +++ b/dlls/jscript/string.c @@ -85,14 +85,10 @@ static HRESULT String_length(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, return S_OK; } -/* ECMA-262 3rd Edition 15.5.4.2 */ -static HRESULT String_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPPARAMS *dp, - VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) +static HRESULT stringobj_to_string(DispatchEx *dispex, VARIANT *retv) { StringInstance *string; - TRACE("\n"); - if(!is_class(dispex, JSCLASS_STRING)) { WARN("this is not a string object\n"); return E_FAIL; @@ -112,12 +108,21 @@ static HRESULT String_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags } /* ECMA-262 3rd Edition 15.5.4.2 */ +static HRESULT String_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPPARAMS *dp, + VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) +{ + TRACE("\n"); + + return stringobj_to_string(dispex, retv); +} + +/* ECMA-262 3rd Edition 15.5.4.2 */ static HRESULT String_valueOf(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) { TRACE("\n"); - return String_toString(ctx, dispex, flags, dp, retv, ei, sp); + return stringobj_to_string(dispex, retv); } static HRESULT do_attributeless_tag_format(DispatchEx *dispex, WORD flags, DISPPARAMS *dp, -- 2.11.4.GIT