Jacek Caban : jscript: Use jsstr_flush in construct_function.

Alexandre Julliard julliard at winehq.org
Tue Mar 5 12:59:17 CST 2013


Module: wine
Branch: master
Commit: 3f30c34827a143f8573a619fc8279755410426c9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3f30c34827a143f8573a619fc8279755410426c9

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Mar  5 11:49:21 2013 +0100

jscript: Use jsstr_flush in construct_function.

---

 dlls/jscript/function.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/dlls/jscript/function.c b/dlls/jscript/function.c
index 056f04a..af79c42 100644
--- a/dlls/jscript/function.c
+++ b/dlls/jscript/function.c
@@ -751,11 +751,10 @@ HRESULT create_source_function(script_ctx_t *ctx, bytecode_t *code, function_cod
 static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *argv, IDispatch **ret)
 {
     WCHAR *str = NULL, *ptr;
-    DWORD len = 0, l;
+    unsigned len = 0, i = 0;
     bytecode_t *code;
     jsdisp_t *function;
     jsstr_t **params = NULL;
-    unsigned int i = 0;
     int j = 0;
     HRESULT hres = S_OK;
 
@@ -786,9 +785,7 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg
             ptr = str + sizeof(function_anonymousW)/sizeof(WCHAR);
             if(argc > 1) {
                 while(1) {
-                    l = jsstr_length(params[j]);
-                    memcpy(ptr, params[j]->str, l*sizeof(WCHAR));
-                    ptr += l;
+                    ptr += jsstr_flush(params[j], ptr);
                     if(++j == argc-1)
                         break;
                     *ptr++ = ',';
@@ -797,11 +794,8 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg
             }
             memcpy(ptr, function_beginW, sizeof(function_beginW));
             ptr += sizeof(function_beginW)/sizeof(WCHAR);
-            if(argc) {
-                l = jsstr_length(params[argc-1]);
-                memcpy(ptr, params[argc-1]->str, l*sizeof(WCHAR));
-                ptr += l;
-            }
+            if(argc)
+                ptr += jsstr_flush(params[argc-1], ptr);
             memcpy(ptr, function_endW, sizeof(function_endW));
 
             TRACE("%s\n", debugstr_w(str));




More information about the wine-cvs mailing list