Jacek Caban : vbscript: Don't try to convert int to short in return_int.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Sep 22 15:01:13 CDT 2014
Module: wine
Branch: master
Commit: 85b989927f0118dda8900e1db897de7f3f505ebd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=85b989927f0118dda8900e1db897de7f3f505ebd
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Sep 22 15:52:13 2014 +0200
vbscript: Don't try to convert int to short in return_int.
---
dlls/vbscript/global.c | 28 ++++------------------------
dlls/vbscript/tests/api.vbs | 2 ++
dlls/vbscript/tests/error.vbs | 1 +
3 files changed, 7 insertions(+), 24 deletions(-)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index 311c892..2901623 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -112,9 +112,6 @@ static HRESULT return_short(VARIANT *res, short val)
static HRESULT return_int(VARIANT *res, int val)
{
- if((short)val == val)
- return return_short(res, val);
-
if(res) {
V_VT(res) = VT_I4;
V_I4(res) = val;
@@ -417,9 +414,7 @@ static HRESULT Global_CLng(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARI
if(!res)
return DISP_E_BADVARTYPE;
- V_VT(res) = VT_I4;
- V_I4(res) = i;
- return S_OK;
+ return return_int(res, i);
}
static HRESULT Global_CBool(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
@@ -1778,12 +1773,7 @@ static HRESULT Global_ScriptEngineMajorVersion(vbdisp_t *This, VARIANT *arg, uns
assert(args_cnt == 0);
- if(res) {
- V_VT(res) = VT_I4;
- V_I4(res) = VBSCRIPT_MAJOR_VERSION;
- }
-
- return S_OK;
+ return return_int(res, VBSCRIPT_MAJOR_VERSION);
}
static HRESULT Global_ScriptEngineMinorVersion(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
@@ -1792,12 +1782,7 @@ static HRESULT Global_ScriptEngineMinorVersion(vbdisp_t *This, VARIANT *arg, uns
assert(args_cnt == 0);
- if(res) {
- V_VT(res) = VT_I4;
- V_I4(res) = VBSCRIPT_MINOR_VERSION;
- }
-
- return S_OK;
+ return return_int(res, VBSCRIPT_MINOR_VERSION);
}
static HRESULT Global_ScriptEngineBuildVersion(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
@@ -1806,12 +1791,7 @@ static HRESULT Global_ScriptEngineBuildVersion(vbdisp_t *This, VARIANT *arg, uns
assert(args_cnt == 0);
- if(res) {
- V_VT(res) = VT_I4;
- V_I4(res) = VBSCRIPT_BUILD_VERSION;
- }
-
- return S_OK;
+ return return_int(res, VBSCRIPT_BUILD_VERSION);
}
static HRESULT Global_FormatNumber(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index d688e17..9e64412 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -242,6 +242,7 @@ Call ok(x = 2, "InStr returned " & x)
x = InStr("abcd", "bc")
Call ok(x = 2, "InStr returned " & x)
+Call ok(getVT(x) = "VT_I4*", "getVT(InStr) returned " & getVT(x))
x = InStr("abc", "bc")
Call ok(x = 2, "InStr returned " & x)
@@ -335,6 +336,7 @@ Call ok(Len("") = 0, "Len() = " & Len(""))
Call ok(Len(1) = 1, "Len(1) = " & Len(1))
Call ok(isNull(Len(null)), "Len(null) = " & Len(null))
Call ok(Len(empty) = 0, "Len(empty) = " & Len(empty))
+Call ok(getVT(Len("abc")) = "VT_I4", "getVT(Len(abc)) = " & getVT(Len("abc")))
Call ok(Space(1) = " ", "Space(1) = " & Space(1) & """")
Call ok(Space(0) = "", "Space(0) = " & Space(0) & """")
diff --git a/dlls/vbscript/tests/error.vbs b/dlls/vbscript/tests/error.vbs
index 830344c..3bf03df 100644
--- a/dlls/vbscript/tests/error.vbs
+++ b/dlls/vbscript/tests/error.vbs
@@ -75,6 +75,7 @@ const RPC_S_SERVER_UNAVAILABLE = &h800706BA&
const CO_E_SERVER_EXEC_FAILURE = &h80080005&
call ok(Err.Number = 0, "Err.Number = " & Err.Number)
+call ok(getVT(Err.Number) = "VT_I4", "getVT(Err.Number) = " & getVT(Err.Number))
dim calledFunc
More information about the wine-cvs
mailing list