Piotr Caban : jscript: Don't use jsstr_t in js_NewRegExp.
Alexandre Julliard
julliard at winehq.org
Fri Feb 15 11:19:16 CST 2013
Module: wine
Branch: master
Commit: 1d61b4581ab1b0daa343041f4165f1849ce948d8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d61b4581ab1b0daa343041f4165f1849ce948d8
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Feb 15 14:04:44 2013 +0100
jscript: Don't use jsstr_t in js_NewRegExp.
---
dlls/jscript/regexp.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/jscript/regexp.c b/dlls/jscript/regexp.c
index decabcc..db04e9b 100644
--- a/dlls/jscript/regexp.c
+++ b/dlls/jscript/regexp.c
@@ -3218,7 +3218,7 @@ js_DestroyRegExp(JSRegExp *re)
}
static JSRegExp *
-js_NewRegExp(script_ctx_t *cx, jsstr_t *str, UINT flags, BOOL flat)
+js_NewRegExp(script_ctx_t *cx, const WCHAR *str, DWORD str_len, UINT flags, BOOL flat)
{
JSRegExp *re;
heap_pool_t *mark;
@@ -3230,10 +3230,10 @@ js_NewRegExp(script_ctx_t *cx, jsstr_t *str, UINT flags, BOOL flat)
re = NULL;
mark = heap_pool_mark(&cx->tmp_heap);
- len = jsstr_length(str);
+ len = str_len;
state.context = cx;
- state.cp = str->str;
+ state.cp = str;
if (!state.cp)
goto out;
state.cpbegin = state.cp;
@@ -3303,8 +3303,8 @@ js_NewRegExp(script_ctx_t *cx, jsstr_t *str, UINT flags, BOOL flat)
re->flags = flags;
re->parenCount = state.parenCount;
- re->source = str->str;
- re->source_len = jsstr_length(str);
+ re->source = str;
+ re->source_len = str_len;
out:
heap_pool_clear(mark);
@@ -3865,7 +3865,8 @@ HRESULT create_regexp(script_ctx_t *ctx, jsstr_t *src, DWORD flags, jsdisp_t **r
regexp->str = jsstr_addref(src);
regexp->last_index_val = jsval_number(0);
- regexp->jsregexp = js_NewRegExp(ctx, regexp->str, flags, FALSE);
+ regexp->jsregexp = js_NewRegExp(ctx, regexp->str->str,
+ jsstr_length(regexp->str), flags, FALSE);
if(!regexp->jsregexp) {
WARN("js_NewRegExp failed\n");
jsdisp_release(®exp->dispex);
More information about the wine-cvs
mailing list