oledb32: DataConvert only variant length types can have a null dst.

This commit is contained in:
Alistair Leslie-Hughes 2013-05-23 14:57:39 +10:00 committed by Alexandre Julliard
parent 72845af0a6
commit 7a762fee02
2 changed files with 14 additions and 0 deletions

View File

@ -191,6 +191,13 @@ static HRESULT WINAPI convert_DataConvert(IDataConvert* iface,
return S_OK;
}
if(dst == NULL && get_length(dst_type) != 0)
{
*dst_len = get_length(src_type);
*dst_status = DBSTATUS_S_OK;
return S_OK;
}
if(src_type == DBTYPE_STR)
{
BSTR b;

View File

@ -892,6 +892,13 @@ todo_wine
ok(dst_status == DBSTATUS_S_ISNULL, "got %08x\n", dst_status);
ok(dst_len == 0, "got %ld\n", dst_len);
/* dst = NULL */
*(int *)src = 0x4321cafe;
dst_len = 0x1234;
hr = IDataConvert_DataConvert(convert, DBTYPE_I4, DBTYPE_I4, 0, &dst_len, src, NULL, 0, 0, NULL, 0, 0, 0);
ok(hr == S_OK, "got %08x\n", hr);
ok(dst_len == sizeof(i4), "got %ld\n", dst_len);
}
static void test_converttoi8(void)