On 20 Oct 2015, at 19:25, Andrew Eikum wrote:
> -static HRESULT WINAPI ShellDispatch_ShellExecute(IShellDispatch6 *iface, BSTR file, VARIANT args, VARIANT dir,
> - VARIANT op, VARIANT show)
> +static HRESULT WINAPI ShellDispatch_ShellExecute(IShellDispatch6 *iface,
> + BSTR file, VARIANT v_args, VARIANT v_dir, VARIANT v_op, VARIANT v_show)
> {
> - FIXME("(%s): stub\n", debugstr_w(file));
> - return E_NOTIMPL;
> + VARIANT args_str, dir_str, op_str, show_str;
> + WCHAR *args = NULL, *dir = NULL, *op = NULL;
> + INT show = 0;
> + HINSTANCE ret;
> +
> + TRACE("(%s, %s, %s, %s, %s)\n", debugstr_w(file), debugstr_variant(&v_args),
> + debugstr_variant(&v_dir), debugstr_variant(&v_op), debugstr_variant(&v_show));
> +
> + VariantInit(&v_args);
Did you mean to args_str here?
> + VariantChangeType(&args_str, &v_args, 0, VT_BSTR);
> + if (V_VT(&v_args) == VT_BSTR)
> + args = V_BSTR(&v_args);
and also args_str here?
(and similar occurrences below).
Huw.