-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am 2015-04-02 um 18:36 schrieb Aaryaman Vasishta:
> REFIID iid;
> REFIID refcount_iid;
> + REFIID vtable_iid;
> HRESULT hr;
> BOOL refcount_todo;
> + BOOL vtable_equal;
> + BOOL vtable_todo;
> };
I think this is more complicated than it needs to be. All you should
need is the vtable_iid field. Then, in the inner loop do something like
if (IsEqualGUID(tests[i].vtable_iid, tests[j].vtable_iid))
ok(iface1 == iface2, ...);
else
ok(iface1 != iface2, ...);
I may be missing something though.
If you want to compare two Win32 BOOLs for equality you have to be careful:
BOOL a = 1;
BOOL b = 2;
if (a)
printf("this is true.\n");
if (b)
printf("this is also true.\n");
if (a == b)
printf("oops, this is false.\n");
For something like that you can use
if (!a == !b)
printf("yay, this is true!\n");
IsEqualGUID(a, b) is defined as !memcmp(a, b, sizeof(GUID)), so
IsEqualGUID() == (ptr1 == ptr2) should be OK though.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBAgAGBQJVHakvAAoJEN0/YqbEcdMwPPYP/08CiwYXURzl7Ias7EKvZGO8
QlYjp4CSEorj44LMOMPMELbN+50NJOngxhXA0mecIhZYA9Dgd5NZtVvDWBIPPu/B
tXe+0+Xw/EvzubfzMYjOX5/lOKm400CW3fPEbxwYrzdFOSmeNhclZpfD+9jjuekG
Lj2XUSk/TAi1B8NlD0x0LE7P6gGb61rg7jeJNZGgfPYMsuAoB2OtekvbIvpbCZmb
3WlOXtzmqVMHjsEsw47i8pdL/DwCFFfpE0xWWdhfgCChFUG/Ul/V56ltN5ERtudO
j+jKtY5oNhunIyALwIifwhYNq/bY9CdfovIOI7sNfM3bXwSCZGEk+5Oq3/dnd4rP
/Ejp+Kd5xk4SDMC3kyE6VucZkyFD58plgEDNlgSXx2ND/o3Mw91PTDaGj5xT0Fy1
Enk6oqORgXQhvtUaDH5Y5rOyh+AMquWhhN5N43ymT0UW40D4b6UBNSSwuQeqKaxS
d1CqkbjUcivIBVd1k8GiuXEgjaEvwMlv8kPj1FGu/GCoMeyoRy7mXN1NOapPdFVu
Gz2e8xR8Bri7oglvsS25i6gjYeYvP8qhTcc8tKBU2tr6MHFN3sUkuOZwtLKJLirc
NxdSzaylgVGpCFQ0cwNSjm+eY0WvBd4eLychal+cs2plMmMAkYVTLDRBC4ZReCkw
KIL1cdIMHQIZSSrDu22h
=tKFs
-----END PGP SIGNATURE-----