[PATCH 2/4] vbscript: Implemented Sgn(try 5)
Piotr Caban
piotr.caban at gmail.com
Thu Jul 3 04:05:56 CDT 2014
On 07/03/14 03:57, Shuai Meng wrote:
> 2014-07-03 1:31 GMT+08:00 Piotr Caban <piotr.caban at gmail.com
> <mailto:piotr.caban at gmail.com>>:
>
> Hi,
>
>
> +Sub testSgnError(strings, error_num)
> + on error resume next
> +
> + Call Err.clear()
> + Call Sgn(strings)
> + Call ok(Err.number = error_num, "Err.number = " & Err.number)
> +End Sub
> +
> +Call testSgnError(Null, 445)
> This test fails on windows. Tests needs to pass both on windows and
> on wine.
>
> Yeah, it should fail. Sgn(Null) always returns error number 94 on
> windows. If we want Sgn(Null) to return the same error number on wine,
> we should use the right error const which is defined in
> include/winerror.h when
> V_VT(arg) == VT_NULL. That means, E_NOTIMPL is not the best one, we
> should find a replacement.
This is an internal vbscript error, it's not defined in any public
header. You can define it in vbscript/vbscript.h file (see e.g.
VBSE_ILLEGAL_FUNC_CALL definition).
While returning the error in function implementation you will need to do
something like this:
if(V_VT(arg) == VT_NULL)
return MAKE_VBSERROR(VBSE_ILLEAGAL_NULL_USE);
Cheers,
Piotr
More information about the wine-devel
mailing list