This is usually done with macros in Wine I think, like
((x) + size - 1) & ~(size - 1).
Do we already have a macro like that I should use or should I just define it like that?
+LPDLGTEMPLATEW dialog_template_create(dialog_header header, struct list *controls)
Why is 'header' passed by value?
Because it doesn't really matter. Is there a benefit passing it as pointer?
- /* Align on WORD boundary for the strings */
- template_data = align_pointer(template_data, 2);
I don't see how it could be not aligned to WORD, could you explain?
I wasn't sure about the alignment of LocalAlloc, so I added that check. Does it guarantee an aligned pointer?
Regarding your points I didn't comment on, I'll fix those in the next version.
Regards Fabian Maurer