[PATCH 4/4] httpapi: Implement HttpReceiveHttpRequest().
Zebediah Figura
z.figura12 at gmail.com
Wed Aug 28 11:24:53 CDT 2019
On 8/28/19 5:00 AM, Dmitry Timoshkov wrote:
> Zebediah Figura <z.figura12 at gmail.com> wrote:
>
>>>> + struct http_receive_request_params params =
>>>> + {
>>>> + .addr = (ULONG_PTR)request,
>>>> + .id = id,
>>>> + .flags = flags,
>>>> + .bits = sizeof(void *) * 8,
>>>> + };
>>>
>>> Please don't do this, it won't build with some compilers.
>>>
>>
>> Do you mean the use of designated initializers?
>
> Yes. It's pretty easy to avoid it, and there's no any real need to
> abuse this kind of strange syntax.
>
>> We've had those in the
>> code base for over 6 years:
>>
>> https://source.winehq.org/git/wine.git/commitdiff/cf0334b6542
>> https://source.winehq.org/git/wine.git/commitdiff/0fa08f47937e
>
> Looks like this slipped through somehow.
>
>> Do you have a concrete example of a compiler that doesn't recognize these?
>
> PSDK compiler chokes on it, and I already had to patch locally that
> windowscodecs test in order to build it.
>
It would have been nice to mention it before, then, because I've been
using it rather extensively in quartz. In this instance I suppose one
could just as easily use a series of decalarations, but I find
designated initializers to be much easier to work with than
non-designated initializers, as one does not need to remember the order
of the fields, or change its users when the structure declaration
changes, or add a large number of 0/NULL entries for sparsely
initialized structures.
For what it's worth, support for designated initializers was introduced
in Visual Studio 2013, and the cl.exe shipped with the Windows 10 SDK
supports them.
More information about the wine-devel
mailing list