jscript: Use jsstr_flush in construct_function.

This commit is contained in:
Jacek Caban 2013-03-05 11:49:21 +01:00 committed by Alexandre Julliard
parent 55f67035c4
commit 3f30c34827
1 changed files with 4 additions and 10 deletions

View File

@ -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));