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(&regexp->dispex);




More information about the wine-cvs mailing list