Rémi Bernon (@rbernon) commented about dlls/kernel32/tests/heap.c:
- ULONG_PTR v, expected;
- char *p1, *p2;
- if (heap_flags & HEAP_PAGE_ALLOCS)
- {
/* This behaves differently, no support yet. */
skip( "Skipping test with HEAP_PAGE_ALLOCS.\n" );
return;
- }
- for (size = 1; size <= 1048576 * 2; size *= 2)
- {
winetest_push_context( "heap_flags %#lx, size %Iu", heap_flags, size );
p1 = HeapAlloc( heap, 0, size + 1 );
ok( !!p1, "got NULL.\n" );
size_aligned = (size + 1 + sizeof(ULONG_PTR) - 1) & ~(sizeof(ULONG_PTR) - 1);
The difference between the computation here and the implementation is confusing. Shouldn't it be `size_aligned = ROUND_SIZE( size, sizeof(void *) - 1 )` too?