Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
5dcd182e
Commit
5dcd182e
authored
Sep 23, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
Sep 23, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Avoid using dispex->ctx.
parent
a9dc89a3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
100 additions
and
108 deletions
+100
-108
bool.c
dlls/jscript/bool.c
+4
-4
engine.c
dlls/jscript/engine.c
+2
-2
error.c
dlls/jscript/error.c
+15
-23
global.c
dlls/jscript/global.c
+26
-26
jscript.h
dlls/jscript/jscript.h
+2
-2
math.c
dlls/jscript/math.c
+21
-21
number.c
dlls/jscript/number.c
+9
-9
object.c
dlls/jscript/object.c
+3
-3
regexp.c
dlls/jscript/regexp.c
+18
-18
string.c
dlls/jscript/string.c
+0
-0
No files found.
dlls/jscript/bool.c
View file @
5dcd182e
...
...
@@ -42,7 +42,7 @@ static HRESULT Bool_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
TRACE
(
"
\n
"
);
if
(
!
is_class
(
dispex
,
JSCLASS_BOOLEAN
))
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_BOOL
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_BOOL
,
NULL
);
if
(
retv
)
{
BoolInstance
*
bool
=
(
BoolInstance
*
)
dispex
;
...
...
@@ -68,7 +68,7 @@ static HRESULT Bool_valueOf(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, D
TRACE
(
"
\n
"
);
if
(
!
is_class
(
dispex
,
JSCLASS_BOOLEAN
))
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_BOOL
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_BOOL
,
NULL
);
if
(
retv
)
{
BoolInstance
*
bool
=
(
BoolInstance
*
)
dispex
;
...
...
@@ -87,7 +87,7 @@ static HRESULT Bool_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DIS
switch
(
flags
)
{
case
INVOKE_FUNC
:
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
default:
FIXME
(
"unimplemented flags %x
\n
"
,
flags
);
return
E_NOTIMPL
;
...
...
@@ -127,7 +127,7 @@ static HRESULT BoolConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flag
case
DISPATCH_CONSTRUCT
:
{
DispatchEx
*
bool
;
hres
=
create_bool
(
dispex
->
ctx
,
value
,
&
bool
);
hres
=
create_bool
(
ctx
,
value
,
&
bool
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/jscript/engine.c
View file @
5dcd182e
...
...
@@ -1583,14 +1583,14 @@ HRESULT call_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags,
hres
=
disp_call
(
ctx
->
parser
->
script
,
V_DISPATCH
(
&
exprval
.
u
.
var
),
DISPID_VALUE
,
DISPATCH_METHOD
,
&
dp
,
flags
&
EXPR_NOVAL
?
NULL
:
&
var
,
ei
,
NULL
/*FIXME*/
);
else
hres
=
throw_type_error
(
ctx
->
var_disp
->
ctx
,
ei
,
IDS_NO_PROPERTY
,
NULL
);
hres
=
throw_type_error
(
ctx
->
parser
->
script
,
ei
,
IDS_NO_PROPERTY
,
NULL
);
break
;
case
EXPRVAL_IDREF
:
hres
=
disp_call
(
ctx
->
parser
->
script
,
exprval
.
u
.
idref
.
disp
,
exprval
.
u
.
idref
.
id
,
DISPATCH_METHOD
,
&
dp
,
flags
&
EXPR_NOVAL
?
NULL
:
&
var
,
ei
,
NULL
/*FIXME*/
);
break
;
case
EXPRVAL_INVALID
:
hres
=
throw_type_error
(
ctx
->
var_disp
->
ctx
,
ei
,
IDS_OBJECT_EXPECTED
,
NULL
);
hres
=
throw_type_error
(
ctx
->
parser
->
script
,
ei
,
IDS_OBJECT_EXPECTED
,
NULL
);
break
;
default:
FIXME
(
"unimplemented type %d
\n
"
,
exprval
.
type
);
...
...
dlls/jscript/error.c
View file @
5dcd182e
...
...
@@ -119,7 +119,7 @@ static HRESULT Error_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
switch
(
flags
)
{
case
INVOKE_FUNC
:
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
default:
FIXME
(
"unimplemented flags %x
\n
"
,
flags
);
return
E_NOTIMPL
;
...
...
@@ -223,7 +223,7 @@ static HRESULT create_error(script_ctx_t *ctx, DispatchEx *constr,
return
S_OK
;
}
static
HRESULT
error_constr
(
DispatchEx
*
dispe
x
,
WORD
flags
,
DISPPARAMS
*
dp
,
static
HRESULT
error_constr
(
script_ctx_t
*
ct
x
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
DispatchEx
*
constr
)
{
DispatchEx
*
err
;
VARIANT
numv
;
...
...
@@ -234,9 +234,9 @@ static HRESULT error_constr(DispatchEx *dispex, WORD flags, DISPPARAMS *dp,
V_VT
(
&
numv
)
=
VT_NULL
;
if
(
arg_cnt
(
dp
))
{
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
numv
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
numv
);
if
(
FAILED
(
hres
)
||
(
V_VT
(
&
numv
)
==
VT_R8
&&
isnan
(
V_R8
(
&
numv
))))
hres
=
to_string
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
msg
);
hres
=
to_string
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
msg
);
else
if
(
V_VT
(
&
numv
)
==
VT_I4
)
num
=
V_I4
(
&
numv
);
else
...
...
@@ -247,7 +247,7 @@ static HRESULT error_constr(DispatchEx *dispex, WORD flags, DISPPARAMS *dp,
}
if
(
arg_cnt
(
dp
)
>
1
&&
!
msg
)
{
hres
=
to_string
(
dispex
->
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
msg
);
hres
=
to_string
(
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
msg
);
if
(
FAILED
(
hres
))
return
hres
;
}
...
...
@@ -256,9 +256,9 @@ static HRESULT error_constr(DispatchEx *dispex, WORD flags, DISPPARAMS *dp,
case
INVOKE_FUNC
:
case
DISPATCH_CONSTRUCT
:
if
(
V_VT
(
&
numv
)
==
VT_NULL
)
hres
=
create_error
(
dispex
->
ctx
,
constr
,
NULL
,
msg
,
&
err
);
hres
=
create_error
(
ctx
,
constr
,
NULL
,
msg
,
&
err
);
else
hres
=
create_error
(
dispex
->
ctx
,
constr
,
&
num
,
msg
,
&
err
);
hres
=
create_error
(
ctx
,
constr
,
&
num
,
msg
,
&
err
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -282,64 +282,56 @@ static HRESULT ErrorConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
error_constr
);
}
static
HRESULT
EvalErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
eval_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
eval_error_constr
);
}
static
HRESULT
RangeErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
range_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
range_error_constr
);
}
static
HRESULT
ReferenceErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
reference_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
reference_error_constr
);
}
static
HRESULT
RegExpErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
regexp_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
regexp_error_constr
);
}
static
HRESULT
SyntaxErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
syntax_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
syntax_error_constr
);
}
static
HRESULT
TypeErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
type_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
type_error_constr
);
}
static
HRESULT
URIErrorConstr_value
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
VARIANT
*
retv
,
jsexcept_t
*
ei
,
IServiceProvider
*
sp
)
{
TRACE
(
"
\n
"
);
return
error_constr
(
dispex
,
flags
,
dp
,
retv
,
ei
,
dispex
->
ctx
->
uri_error_constr
);
return
error_constr
(
ctx
,
flags
,
dp
,
retv
,
ei
,
ctx
->
uri_error_constr
);
}
HRESULT
init_error_constr
(
script_ctx_t
*
ctx
,
DispatchEx
*
object_prototype
)
...
...
dlls/jscript/global.c
View file @
5dcd182e
...
...
@@ -156,7 +156,7 @@ static HRESULT JSGlobal_Array(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
array_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
array_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Boolean
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -164,7 +164,7 @@ static HRESULT JSGlobal_Boolean(script_ctx_t *ctx, DispatchEx *dispex, WORD flag
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
bool_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
bool_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Date
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -172,7 +172,7 @@ static HRESULT JSGlobal_Date(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
date_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
date_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Error
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -180,7 +180,7 @@ static HRESULT JSGlobal_Error(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_EvalError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -188,7 +188,7 @@ static HRESULT JSGlobal_EvalError(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
eval_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
eval_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_RangeError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -196,7 +196,7 @@ static HRESULT JSGlobal_RangeError(script_ctx_t *ctx, DispatchEx *dispex, WORD f
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
range_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
range_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_ReferenceError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -204,7 +204,7 @@ static HRESULT JSGlobal_ReferenceError(script_ctx_t *ctx, DispatchEx *dispex, WO
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
reference_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
reference_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_SyntaxError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -212,7 +212,7 @@ static HRESULT JSGlobal_SyntaxError(script_ctx_t *ctx, DispatchEx *dispex, WORD
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
syntax_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
syntax_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_TypeError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -220,7 +220,7 @@ static HRESULT JSGlobal_TypeError(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
type_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
type_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_URIError
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -228,7 +228,7 @@ static HRESULT JSGlobal_URIError(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
uri_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
uri_error_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Function
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -236,7 +236,7 @@ static HRESULT JSGlobal_Function(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
function_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
function_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Number
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -244,7 +244,7 @@ static HRESULT JSGlobal_Number(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
number_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
number_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_Object
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -252,7 +252,7 @@ static HRESULT JSGlobal_Object(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
object_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
object_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_String
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -260,7 +260,7 @@ static HRESULT JSGlobal_String(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
string_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
string_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_RegExp
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -268,7 +268,7 @@ static HRESULT JSGlobal_RegExp(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
{
TRACE
(
"
\n
"
);
return
constructor_call
(
dispex
->
ctx
->
regexp_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
return
constructor_call
(
ctx
->
regexp_constr
,
flags
,
dp
,
retv
,
ei
,
sp
);
}
static
HRESULT
JSGlobal_ActiveXObject
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
WORD
flags
,
DISPPARAMS
*
dp
,
...
...
@@ -324,19 +324,19 @@ static HRESULT JSGlobal_eval(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
return
S_OK
;
}
if
(
!
dispex
->
ctx
->
exec_ctx
)
{
if
(
!
ctx
->
exec_ctx
)
{
FIXME
(
"No active exec_ctx
\n
"
);
return
E_UNEXPECTED
;
}
TRACE
(
"parsing %s
\n
"
,
debugstr_w
(
V_BSTR
(
arg
)));
hres
=
script_parse
(
dispex
->
ctx
,
V_BSTR
(
arg
),
NULL
,
&
parser_ctx
);
hres
=
script_parse
(
ctx
,
V_BSTR
(
arg
),
NULL
,
&
parser_ctx
);
if
(
FAILED
(
hres
))
{
WARN
(
"parse (%s) failed: %08x
\n
"
,
debugstr_w
(
V_BSTR
(
arg
)),
hres
);
return
throw_syntax_error
(
dispex
->
ctx
,
ei
,
hres
,
NULL
);
return
throw_syntax_error
(
ctx
,
ei
,
hres
,
NULL
);
}
hres
=
exec_source
(
dispex
->
ctx
->
exec_ctx
,
parser_ctx
,
parser_ctx
->
source
,
ei
,
retv
);
hres
=
exec_source
(
ctx
->
exec_ctx
,
parser_ctx
,
parser_ctx
->
source
,
ei
,
retv
);
parser_release
(
parser_ctx
);
return
hres
;
...
...
@@ -352,7 +352,7 @@ static HRESULT JSGlobal_isNaN(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
TRACE
(
"
\n
"
);
if
(
arg_cnt
(
dp
))
{
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -380,7 +380,7 @@ static HRESULT JSGlobal_isFinite(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
if
(
arg_cnt
(
dp
))
{
VARIANT
num
;
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -422,7 +422,7 @@ static HRESULT JSGlobal_parseInt(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
}
if
(
arg_cnt
(
dp
)
>=
2
)
{
hres
=
to_int32
(
dispex
->
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
radix
);
hres
=
to_int32
(
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
radix
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -434,7 +434,7 @@ static HRESULT JSGlobal_parseInt(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
}
}
hres
=
to_string
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
hres
=
to_string
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -492,7 +492,7 @@ static HRESULT JSGlobal_parseFloat(script_ctx_t *ctx, DispatchEx *dispex, WORD f
}
arg
=
get_arg
(
dp
,
0
);
hres
=
to_string
(
dispex
->
ctx
,
arg
,
ei
,
&
val_str
);
hres
=
to_string
(
ctx
,
arg
,
ei
,
&
val_str
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -605,7 +605,7 @@ static HRESULT JSGlobal_unescape(script_ctx_t *ctx, DispatchEx *dispex, WORD fla
return
S_OK
;
}
hres
=
to_string
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
hres
=
to_string
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -724,7 +724,7 @@ static HRESULT JSGlobal_encodeURI(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
return
S_OK
;
}
hres
=
to_string
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
hres
=
to_string
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
str
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/jscript/jscript.h
View file @
5dcd182e
...
...
@@ -244,9 +244,9 @@ typedef struct {
DWORD
len
;
}
match_result_t
;
HRESULT
regexp_match_next
(
DispatchEx
*
,
BOOL
,
const
WCHAR
*
,
DWORD
,
const
WCHAR
**
,
match_result_t
**
,
HRESULT
regexp_match_next
(
script_ctx_t
*
,
DispatchEx
*
,
BOOL
,
const
WCHAR
*
,
DWORD
,
const
WCHAR
**
,
match_result_t
**
,
DWORD
*
,
DWORD
*
,
match_result_t
*
);
HRESULT
regexp_match
(
DispatchEx
*
,
const
WCHAR
*
,
DWORD
,
BOOL
,
match_result_t
**
,
DWORD
*
);
HRESULT
regexp_match
(
script_ctx_t
*
,
DispatchEx
*
,
const
WCHAR
*
,
DWORD
,
BOOL
,
match_result_t
**
,
DWORD
*
);
static
inline
VARIANT
*
get_arg
(
DISPPARAMS
*
dp
,
DWORD
i
)
{
...
...
dlls/jscript/math.c
View file @
5dcd182e
...
...
@@ -148,7 +148,7 @@ static HRESULT Math_abs(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -171,7 +171,7 @@ static HRESULT Math_acos(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -192,7 +192,7 @@ static HRESULT Math_asin(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -213,7 +213,7 @@ static HRESULT Math_atan(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -234,11 +234,11 @@ static HRESULT Math_atan2(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DIS
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v1
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v1
);
if
(
FAILED
(
hres
))
return
hres
;
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
v2
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
v2
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -261,7 +261,7 @@ static HRESULT Math_ceil(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -283,7 +283,7 @@ static HRESULT Math_cos(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -304,7 +304,7 @@ static HRESULT Math_exp(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -326,7 +326,7 @@ static HRESULT Math_floor(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DIS
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -349,7 +349,7 @@ static HRESULT Math_log(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -375,13 +375,13 @@ static HRESULT Math_max(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
max
=
num_val
(
&
v
);
for
(
i
=
1
;
i
<
arg_cnt
(
dp
);
i
++
)
{
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
i
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
i
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -412,13 +412,13 @@ static HRESULT Math_min(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
min
=
num_val
(
&
v
);
for
(
i
=
1
;
i
<
arg_cnt
(
dp
);
i
++
)
{
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
i
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
i
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -446,11 +446,11 @@ static HRESULT Math_pow(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
x
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
x
);
if
(
FAILED
(
hres
))
return
hres
;
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
y
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
1
),
ei
,
&
y
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -490,7 +490,7 @@ static HRESULT Math_round(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DIS
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -512,7 +512,7 @@ static HRESULT Math_sin(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -533,7 +533,7 @@ static HRESULT Math_sqrt(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -554,7 +554,7 @@ static HRESULT Math_tan(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DISPP
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
v
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/jscript/number.c
View file @
5dcd182e
...
...
@@ -54,17 +54,17 @@ static HRESULT Number_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
TRACE
(
"
\n
"
);
if
(
!
is_class
(
dispex
,
JSCLASS_NUMBER
))
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_NUM
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_NUM
,
NULL
);
number
=
(
NumberInstance
*
)
dispex
;
if
(
arg_cnt
(
dp
))
{
hres
=
to_int32
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
radix
);
hres
=
to_int32
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
radix
);
if
(
FAILED
(
hres
))
return
hres
;
if
(
radix
<
2
||
radix
>
36
)
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_INVALID_CALL_ARG
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_INVALID_CALL_ARG
,
NULL
);
}
if
(
V_VT
(
&
number
->
num
)
==
VT_I4
)
...
...
@@ -73,7 +73,7 @@ static HRESULT Number_toString(script_ctx_t *ctx, DispatchEx *dispex, WORD flags
val
=
V_R8
(
&
number
->
num
);
if
(
radix
==
10
||
isnan
(
val
)
||
isinf
(
val
))
{
hres
=
to_string
(
dispex
->
ctx
,
&
number
->
num
,
ei
,
&
str
);
hres
=
to_string
(
ctx
,
&
number
->
num
,
ei
,
&
str
);
if
(
FAILED
(
hres
))
return
hres
;
}
...
...
@@ -204,7 +204,7 @@ static HRESULT Number_valueOf(script_ctx_t *ctx, DispatchEx *dispex, WORD flags,
TRACE
(
"
\n
"
);
if
(
!
is_class
(
dispex
,
JSCLASS_NUMBER
))
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_NUM
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_NUM
,
NULL
);
if
(
retv
)
{
NumberInstance
*
number
=
(
NumberInstance
*
)
dispex
;
...
...
@@ -220,7 +220,7 @@ static HRESULT Number_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, D
switch
(
flags
)
{
case
INVOKE_FUNC
:
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
case
DISPATCH_PROPERTYGET
:
*
retv
=
number
->
num
;
break
;
...
...
@@ -269,7 +269,7 @@ static HRESULT NumberConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
return
S_OK
;
}
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -281,7 +281,7 @@ static HRESULT NumberConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
DispatchEx
*
obj
;
if
(
arg_cnt
(
dp
))
{
hres
=
to_number
(
dispex
->
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
hres
=
to_number
(
ctx
,
get_arg
(
dp
,
0
),
ei
,
&
num
);
if
(
FAILED
(
hres
))
return
hres
;
}
else
{
...
...
@@ -289,7 +289,7 @@ static HRESULT NumberConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
V_I4
(
&
num
)
=
0
;
}
hres
=
create_number
(
dispex
->
ctx
,
&
num
,
&
obj
);
hres
=
create_number
(
ctx
,
&
num
,
&
obj
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/jscript/object.c
View file @
5dcd182e
...
...
@@ -124,7 +124,7 @@ static HRESULT Object_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, D
switch
(
flags
)
{
case
INVOKE_FUNC
:
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
case
DISPATCH_PROPERTYGET
:
V_VT
(
retv
)
=
VT_BSTR
;
V_BSTR
(
retv
)
=
SysAllocString
(
default_valueW
);
...
...
@@ -177,7 +177,7 @@ static HRESULT ObjectConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
if
(
V_VT
(
arg
)
!=
VT_EMPTY
&&
V_VT
(
arg
)
!=
VT_NULL
)
{
IDispatch
*
disp
;
hres
=
to_object
(
dispex
->
ctx
,
arg
,
&
disp
);
hres
=
to_object
(
ctx
,
arg
,
&
disp
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -194,7 +194,7 @@ static HRESULT ObjectConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
case
DISPATCH_CONSTRUCT
:
{
DispatchEx
*
obj
;
hres
=
create_object
(
dispex
->
ctx
,
NULL
,
&
obj
);
hres
=
create_object
(
ctx
,
NULL
,
&
obj
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
dlls/jscript/regexp.c
View file @
5dcd182e
...
...
@@ -3294,7 +3294,7 @@ out:
return
re
;
}
static
HRESULT
do_regexp_match_next
(
RegExpInstance
*
regexp
,
const
WCHAR
*
str
,
DWORD
len
,
static
HRESULT
do_regexp_match_next
(
script_ctx_t
*
ctx
,
RegExpInstance
*
regexp
,
const
WCHAR
*
str
,
DWORD
len
,
const
WCHAR
**
cp
,
match_result_t
**
parens
,
DWORD
*
parens_size
,
DWORD
*
parens_cnt
,
match_result_t
*
ret
)
{
REMatchState
*
x
,
*
result
;
...
...
@@ -3305,7 +3305,7 @@ static HRESULT do_regexp_match_next(RegExpInstance *regexp, const WCHAR *str, DW
gData
.
cpend
=
str
+
len
;
gData
.
start
=
*
cp
-
str
;
gData
.
skipped
=
0
;
gData
.
pool
=
&
regexp
->
dispex
.
ctx
->
tmp_heap
;
gData
.
pool
=
&
ctx
->
tmp_heap
;
x
=
InitMatch
(
NULL
,
&
gData
,
regexp
->
jsregexp
,
gData
.
cpend
-
gData
.
cpbegin
);
if
(
!
x
)
{
...
...
@@ -3355,7 +3355,7 @@ static HRESULT do_regexp_match_next(RegExpInstance *regexp, const WCHAR *str, DW
return
S_OK
;
}
HRESULT
regexp_match_next
(
DispatchEx
*
dispex
,
BOOL
gcheck
,
const
WCHAR
*
str
,
DWORD
len
,
HRESULT
regexp_match_next
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
BOOL
gcheck
,
const
WCHAR
*
str
,
DWORD
len
,
const
WCHAR
**
cp
,
match_result_t
**
parens
,
DWORD
*
parens_size
,
DWORD
*
parens_cnt
,
match_result_t
*
ret
)
{
RegExpInstance
*
regexp
=
(
RegExpInstance
*
)
dispex
;
...
...
@@ -3365,16 +3365,16 @@ HRESULT regexp_match_next(DispatchEx *dispex, BOOL gcheck, const WCHAR *str, DWO
if
(
gcheck
&&
!
(
regexp
->
jsregexp
->
flags
&
JSREG_GLOB
))
return
S_FALSE
;
mark
=
jsheap_mark
(
&
regexp
->
dispex
.
ctx
->
tmp_heap
);
mark
=
jsheap_mark
(
&
ctx
->
tmp_heap
);
hres
=
do_regexp_match_next
(
regexp
,
str
,
len
,
cp
,
parens
,
parens_size
,
parens_cnt
,
ret
);
hres
=
do_regexp_match_next
(
ctx
,
regexp
,
str
,
len
,
cp
,
parens
,
parens_size
,
parens_cnt
,
ret
);
jsheap_clear
(
mark
);
return
hres
;
}
HRESULT
regexp_match
(
DispatchEx
*
dispex
,
const
WCHAR
*
str
,
DWORD
len
,
BOOL
gflag
,
match_result_t
**
match_result
,
DWORD
*
result_cnt
)
HRESULT
regexp_match
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
const
WCHAR
*
str
,
DWORD
len
,
BOOL
gflag
,
match_result_t
**
match_result
,
DWORD
*
result_cnt
)
{
RegExpInstance
*
This
=
(
RegExpInstance
*
)
dispex
;
match_result_t
*
ret
=
NULL
,
cres
;
...
...
@@ -3383,10 +3383,10 @@ HRESULT regexp_match(DispatchEx *dispex, const WCHAR *str, DWORD len, BOOL gflag
jsheap_t
*
mark
;
HRESULT
hres
;
mark
=
jsheap_mark
(
&
This
->
dispex
.
ctx
->
tmp_heap
);
mark
=
jsheap_mark
(
&
ctx
->
tmp_heap
);
while
(
1
)
{
hres
=
do_regexp_match_next
(
This
,
str
,
len
,
&
cp
,
NULL
,
NULL
,
NULL
,
&
cres
);
hres
=
do_regexp_match_next
(
ctx
,
This
,
str
,
len
,
&
cp
,
NULL
,
NULL
,
NULL
,
&
cres
);
if
(
hres
==
S_FALSE
)
{
hres
=
S_OK
;
break
;
...
...
@@ -3558,7 +3558,7 @@ static HRESULT create_match_array(script_ctx_t *ctx, BSTR input, const match_res
return
S_OK
;
}
static
HRESULT
run_exec
(
DispatchEx
*
dispex
,
VARIANT
*
arg
,
jsexcept_t
*
ei
,
BSTR
*
input
,
static
HRESULT
run_exec
(
script_ctx_t
*
ctx
,
DispatchEx
*
dispex
,
VARIANT
*
arg
,
jsexcept_t
*
ei
,
BSTR
*
input
,
match_result_t
*
match
,
match_result_t
**
parens
,
DWORD
*
parens_cnt
,
VARIANT_BOOL
*
ret
)
{
RegExpInstance
*
regexp
;
...
...
@@ -3575,7 +3575,7 @@ static HRESULT run_exec(DispatchEx *dispex, VARIANT *arg, jsexcept_t *ei, BSTR *
regexp
=
(
RegExpInstance
*
)
dispex
;
if
(
arg
)
{
hres
=
to_string
(
regexp
->
dispex
.
ctx
,
arg
,
ei
,
&
string
);
hres
=
to_string
(
ctx
,
arg
,
ei
,
&
string
);
if
(
FAILED
(
hres
))
return
hres
;
}
else
{
...
...
@@ -3589,7 +3589,7 @@ static HRESULT run_exec(DispatchEx *dispex, VARIANT *arg, jsexcept_t *ei, BSTR *
last_index
=
regexp
->
last_index
;
cp
=
string
+
last_index
;
hres
=
regexp_match_next
(
&
regexp
->
dispex
,
FALSE
,
string
,
length
,
&
cp
,
parens
,
parens
?
&
parens_size
:
NULL
,
hres
=
regexp_match_next
(
ctx
,
&
regexp
->
dispex
,
FALSE
,
string
,
length
,
&
cp
,
parens
,
parens
?
&
parens_size
:
NULL
,
parens_cnt
,
match
);
if
(
FAILED
(
hres
))
{
SysFreeString
(
string
);
...
...
@@ -3620,7 +3620,7 @@ static HRESULT RegExp_exec(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DI
TRACE
(
"
\n
"
);
hres
=
run_exec
(
dispex
,
arg_cnt
(
dp
)
?
get_arg
(
dp
,
0
)
:
NULL
,
ei
,
&
string
,
&
match
,
&
parens
,
&
parens_cnt
,
&
b
);
hres
=
run_exec
(
ctx
,
dispex
,
arg_cnt
(
dp
)
?
get_arg
(
dp
,
0
)
:
NULL
,
ei
,
&
string
,
&
match
,
&
parens
,
&
parens_cnt
,
&
b
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -3628,7 +3628,7 @@ static HRESULT RegExp_exec(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DI
if
(
b
)
{
IDispatch
*
ret
;
hres
=
create_match_array
(
dispex
->
ctx
,
string
,
&
match
,
parens
,
parens_cnt
,
ei
,
&
ret
);
hres
=
create_match_array
(
ctx
,
string
,
&
match
,
parens
,
parens_cnt
,
ei
,
&
ret
);
if
(
SUCCEEDED
(
hres
))
{
V_VT
(
retv
)
=
VT_DISPATCH
;
V_DISPATCH
(
retv
)
=
ret
;
...
...
@@ -3652,7 +3652,7 @@ static HRESULT RegExp_test(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, DI
TRACE
(
"
\n
"
);
hres
=
run_exec
(
dispex
,
arg_cnt
(
dp
)
?
get_arg
(
dp
,
0
)
:
NULL
,
ei
,
NULL
,
&
match
,
NULL
,
NULL
,
&
b
);
hres
=
run_exec
(
ctx
,
dispex
,
arg_cnt
(
dp
)
?
get_arg
(
dp
,
0
)
:
NULL
,
ei
,
NULL
,
&
match
,
NULL
,
NULL
,
&
b
);
if
(
FAILED
(
hres
))
return
hres
;
...
...
@@ -3670,7 +3670,7 @@ static HRESULT RegExp_value(script_ctx_t *ctx, DispatchEx *dispex, WORD flags, D
switch
(
flags
)
{
case
INVOKE_FUNC
:
return
throw_type_error
(
dispex
->
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
return
throw_type_error
(
ctx
,
ei
,
IDS_NOT_FUNC
,
NULL
);
default:
FIXME
(
"unimplemented flags %x
\n
"
,
flags
);
return
E_NOTIMPL
;
...
...
@@ -3843,7 +3843,7 @@ static HRESULT RegExpConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
if
(
is_class
(
jsdisp
,
JSCLASS_REGEXP
))
{
if
(
arg_cnt
(
dp
)
>
1
&&
V_VT
(
get_arg
(
dp
,
1
))
!=
VT_EMPTY
)
{
jsdisp_release
(
jsdisp
);
return
throw_regexp_error
(
dispex
->
ctx
,
ei
,
IDS_REGEXP_SYNTAX_ERROR
,
NULL
);
return
throw_regexp_error
(
ctx
,
ei
,
IDS_REGEXP_SYNTAX_ERROR
,
NULL
);
}
if
(
retv
)
{
...
...
@@ -3860,7 +3860,7 @@ static HRESULT RegExpConstr_value(script_ctx_t *ctx, DispatchEx *dispex, WORD fl
}
/* fall through */
case
DISPATCH_CONSTRUCT
:
return
regexp_constructor
(
dispex
->
ctx
,
dp
,
retv
);
return
regexp_constructor
(
ctx
,
dp
,
retv
);
default:
FIXME
(
"unimplemented flags: %x
\n
"
,
flags
);
return
E_NOTIMPL
;
...
...
dlls/jscript/string.c
View file @
5dcd182e
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment