Jacek Caban : jscript: Store regexp last_index value as jsval.
Alexandre Julliard
julliard at winehq.org
Mon Sep 17 14:06:35 CDT 2012
Module: wine
Branch: master
Commit: a3f7f0f7defd8e5dffa5773a509905702980dd9d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a3f7f0f7defd8e5dffa5773a509905702980dd9d
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Sep 17 15:19:30 2012 +0200
jscript: Store regexp last_index value as jsval.
---
dlls/jscript/regexp.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c
index 3e0f986..d09b203 100644
--- a/dlls/jscript/regexp.c
+++ b/dlls/jscript/regexp.c
@@ -84,7 +84,7 @@ typedef struct {
JSRegExp *jsregexp;
BSTR str;
INT last_index;
- VARIANT last_index_var;
+ jsval_t last_index_val;
} RegExpInstance;
static const WCHAR sourceW[] = {'s','o','u','r','c','e',0};
@@ -3308,8 +3308,8 @@ static inline RegExpInstance *regexp_from_vdisp(vdisp_t *vdisp)
static void set_last_index(RegExpInstance *This, DWORD last_index)
{
This->last_index = last_index;
- VariantClear(&This->last_index_var);
- num_set_val(&This->last_index_var, last_index);
+ jsval_release(This->last_index_val);
+ This->last_index_val = jsval_number(last_index);
}
static HRESULT do_regexp_match_next(script_ctx_t *ctx, RegExpInstance *regexp, DWORD rem_flags,
@@ -3542,13 +3542,13 @@ static HRESULT RegExp_lastIndex(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags,
case DISPATCH_PROPERTYGET: {
RegExpInstance *regexp = regexp_from_vdisp(jsthis);
- return variant_to_jsval(®exp->last_index_var, r);
+ return jsval_copy(regexp->last_index_val, r);
}
case DISPATCH_PROPERTYPUT: {
RegExpInstance *regexp = regexp_from_vdisp(jsthis);
HRESULT hres;
- hres = jsval_to_variant(argv[0], ®exp->last_index_var);
+ hres = jsval_copy(argv[0], ®exp->last_index_val);
if(FAILED(hres))
return hres;
@@ -3765,7 +3765,7 @@ static void RegExp_destructor(jsdisp_t *dispex)
if(This->jsregexp)
js_DestroyRegExp(This->jsregexp);
- VariantClear(&This->last_index_var);
+ jsval_release(This->last_index_val);
SysFreeString(This->str);
heap_free(This);
}
@@ -3857,7 +3857,7 @@ HRESULT create_regexp(script_ctx_t *ctx, const WCHAR *exp, int len, DWORD flags,
return E_FAIL;
}
- num_set_int(®exp->last_index_var, 0);
+ regexp->last_index_val = jsval_number(0);
*ret = ®exp->dispex;
return S_OK;
More information about the wine-cvs
mailing list