On Fri, 10 Mar 2017, Aric Stewart wrote: [...]
I personally have no passion either way either. Having it be void vs BOOL is all the same to me. Francois? Do you care, if so then I think your caring will win. :)
I don't really care either way either. It would just be better for it to be the same everywhere so that later changes to that set of functions can be copy/pasted everywhere without issue.
Personally I think it would be even better to move them to something like include/wine/heap.h. I don't know if Alexandre would agree though.
Based on what Michael told me on IRC Alexandre would like changes to be made to these functions but I don't know if it impacts heap_free(). For instance for heap_alloc() and heap_realloc() he would probably like something like this:
static inline void * __WINE_ALLOC_SIZE(1) heap_alloc(size_t size) { if (!size) return NULL; return HeapAlloc(GetProcessHeap(), 0, size); }
static inline void* __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t size) { if (!size) { heap_free(mem); return NULL; } if (!mem) return heap_alloc(size); return HeapReAlloc(GetProcessHeap(), 0, mem, size); }
Then there's the string heap functions but I did not really look at those.
I think his idea is also to eliminate calls to heap_xxx() for small allocations (like a simple structure) where possible. Overall, doing this kind of change will require checking the call sites to make sure they are compatible with that and that they take advantage of them. This type of checks is probably more a Michael type of thing though ;-)