Commit 3f30c348 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

jscript: Use jsstr_flush in construct_function.

parent 55f67035
...@@ -751,11 +751,10 @@ HRESULT create_source_function(script_ctx_t *ctx, bytecode_t *code, function_cod ...@@ -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) static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *argv, IDispatch **ret)
{ {
WCHAR *str = NULL, *ptr; WCHAR *str = NULL, *ptr;
DWORD len = 0, l; unsigned len = 0, i = 0;
bytecode_t *code; bytecode_t *code;
jsdisp_t *function; jsdisp_t *function;
jsstr_t **params = NULL; jsstr_t **params = NULL;
unsigned int i = 0;
int j = 0; int j = 0;
HRESULT hres = S_OK; HRESULT hres = S_OK;
...@@ -786,9 +785,7 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg ...@@ -786,9 +785,7 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg
ptr = str + sizeof(function_anonymousW)/sizeof(WCHAR); ptr = str + sizeof(function_anonymousW)/sizeof(WCHAR);
if(argc > 1) { if(argc > 1) {
while(1) { while(1) {
l = jsstr_length(params[j]); ptr += jsstr_flush(params[j], ptr);
memcpy(ptr, params[j]->str, l*sizeof(WCHAR));
ptr += l;
if(++j == argc-1) if(++j == argc-1)
break; break;
*ptr++ = ','; *ptr++ = ',';
...@@ -797,11 +794,8 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg ...@@ -797,11 +794,8 @@ static HRESULT construct_function(script_ctx_t *ctx, unsigned argc, jsval_t *arg
} }
memcpy(ptr, function_beginW, sizeof(function_beginW)); memcpy(ptr, function_beginW, sizeof(function_beginW));
ptr += sizeof(function_beginW)/sizeof(WCHAR); ptr += sizeof(function_beginW)/sizeof(WCHAR);
if(argc) { if(argc)
l = jsstr_length(params[argc-1]); ptr += jsstr_flush(params[argc-1], ptr);
memcpy(ptr, params[argc-1]->str, l*sizeof(WCHAR));
ptr += l;
}
memcpy(ptr, function_endW, sizeof(function_endW)); memcpy(ptr, function_endW, sizeof(function_endW));
TRACE("%s\n", debugstr_w(str)); TRACE("%s\n", debugstr_w(str));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment