jscript: Properly support missing array elements in stringify_array.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2018-03-01 23:58:17 +01:00 committed by Alexandre Julliard
parent 25cf6b7f4d
commit 5f9f9a45e9
1 changed files with 11 additions and 8 deletions

View File

@ -545,15 +545,18 @@ static HRESULT stringify_array(stringify_ctx_t *ctx, jsdisp_t *obj)
}
hres = jsdisp_get_idx(obj, i, &val);
if(FAILED(hres))
if(SUCCEEDED(hres)) {
hres = stringify(ctx, val);
if(FAILED(hres))
return hres;
if(hres == S_FALSE && !append_string(ctx, nullW))
return E_OUTOFMEMORY;
}else if(hres == DISP_E_UNKNOWNNAME) {
if(!append_string(ctx, nullW))
return E_OUTOFMEMORY;
}else {
return hres;
hres = stringify(ctx, val);
if(FAILED(hres))
return hres;
if(hres == S_FALSE && !append_string(ctx, nullW))
return E_OUTOFMEMORY;
}
}
if((length && *ctx->gap && !append_char(ctx, '\n')) || !append_char(ctx, ']'))