From 0ff9d8c290e7a5423bd4f38a902188c2a7e2f254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Tue, 25 May 2010 19:41:11 +0200 Subject: [PATCH] oledb32: Add Variant to Integer conversion. --- dlls/oledb32/convert.c | 2 ++ dlls/oledb32/tests/convert.c | 6 ------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/dlls/oledb32/convert.c b/dlls/oledb32/convert.c index 01c304c3391..c9206bae574 100644 --- a/dlls/oledb32/convert.c +++ b/dlls/oledb32/convert.c @@ -231,6 +231,7 @@ static HRESULT WINAPI convert_DataConvert(IDataConvert* iface, case DBTYPE_UI4: hr = VarI2FromUI4(*(DWORD*)src, d); break; case DBTYPE_I8: hr = VarI2FromI8(*(LONGLONG*)src, d); break; case DBTYPE_UI8: hr = VarI2FromUI8(*(ULONGLONG*)src, d); break; + case DBTYPE_VARIANT: *d = V_I2((VARIANT*)src); hr = S_OK; break; default: FIXME("Unimplemented conversion %04x -> I2\n", src_type); return E_NOTIMPL; } break; @@ -257,6 +258,7 @@ static HRESULT WINAPI convert_DataConvert(IDataConvert* iface, case DBTYPE_UI4: hr = VarI4FromUI4(*(DWORD*)src, d); break; case DBTYPE_I8: hr = VarI4FromI8(*(LONGLONG*)src, d); break; case DBTYPE_UI8: hr = VarI4FromUI8(*(ULONGLONG*)src, d); break; + case DBTYPE_VARIANT: *d = V_I4((VARIANT*)src); hr = S_OK; break; default: FIXME("Unimplemented conversion %04x -> I4\n", src_type); return E_NOTIMPL; } break; diff --git a/dlls/oledb32/tests/convert.c b/dlls/oledb32/tests/convert.c index 2eb39515d30..60698a67210 100644 --- a/dlls/oledb32/tests/convert.c +++ b/dlls/oledb32/tests/convert.c @@ -476,13 +476,10 @@ todo_wine V_VT((VARIANT*)src) = VT_I2; V_I2((VARIANT*)src) = 0x4321; hr = IDataConvert_DataConvert(convert, DBTYPE_VARIANT, DBTYPE_I2, 0, &dst_len, src, &dst, sizeof(dst), 0, &dst_status, 0, 0, 0); -todo_wine -{ ok(hr == S_OK, "got %08x\n", hr); ok(dst_status == DBSTATUS_S_OK, "got %08x\n", dst_status); ok(dst_len == sizeof(dst), "got %d\n", dst_len); ok(dst == 0x4321, "got %08x\n", dst); -} dst_len = dst = 0x1234; memset(src, 0, sizeof(DECIMAL)); @@ -755,13 +752,10 @@ static void test_converttoi4(void) V_I2((VARIANT*)src) = 0x1234; dst_len = 0x1234; hr = IDataConvert_DataConvert(convert, DBTYPE_VARIANT, DBTYPE_I4, 0, &dst_len, src, &i4, sizeof(i4), 0, &dst_status, 0, 0, 0); -todo_wine -{ ok(hr == S_OK, "got %08x\n", hr); ok(dst_status == DBSTATUS_S_OK, "got %08x\n", dst_status); ok(dst_len == sizeof(i4), "got %d\n", dst_len); ok(i4 == 0x1234, "got %08x\n", i4); -} i4 = 0x12345678; memset(src, 0, sizeof(DECIMAL));