Re: oleaut32: Fix TLB dependencies lookup
Looking mostly good, but some problems below. On Tue, Jun 03, 2014 at 08:50:46PM +0200, guillaume.charifi(a)sfr.fr wrote:
+ hr = LoadTypeLibEx(testTLBNameW, REGKIND_NONE, &ptLib); + if(hr == S_OK) { + ITypeLib_Release(ptLib); + win_skip("test_tlb.tlb is on the path or registered, skipping typelib dependency tests\n"); + return; + } +
This fails when I run the tests in my source tree: [aeikum(a)aeikum tests]$ pwd /home/aeikum/wine/dlls/oleaut32/tests typelib.c:5434: Test failed: test_tlb.tlb is on the path or registered, skipping typelib dependency tests Makefile:345: recipe for target 'typelib.ok' failed make: *** [typelib.ok] Error 1
+ /* Search in resource table */ + if(1) {
Why is this if-statement here?
+ static const WCHAR TYPELIBW[] = {'T','Y','P','E','L','I','B',0}; + struct search_res_tlb_param *param = heap_alloc(sizeof(*param));
Why aren't you allocating this on the stack?
+ + param->guid = (GUID *)TLB_get_guid_null(ref_type->pImpTLInfo->guid); + + EnumResourceNamesW(NULL, TYPELIBW, search_res_tlb, (LONG_PTR)param); + + pTLib = param->pTLib; + result = param->result;
If search_res_tlb() is never run, I think (result == 0 == S_OK). You should initialize it to some failure condition before calling EnumResourceNames. Andrew
participants (1)
-
Andrew Eikum