[PATCH] dlls/windows.globalization: don't allocate a partial structure
Eric Pouech
eric.pouech at orange.fr
Wed Mar 23 08:05:06 CDT 2022
> Well I think this makes the code very bloated, and if it is truly UB
> then we should instead find a way to use 0-sized arrays in a portable
> way.
>
> I believe 0 sized array for the last struct member is standard C99, so
> is there any compiler not supporting it yet (or some variation of it
> like with empty size)?
yes the so called "flexible array member" is c99 and seems to be
supported by gcc, clang, msvc
but they don't seem to be accepted directly into wine (for now) (for
example include/winnt.h see
https://source.winehq.org/source/include/winnt.h#5815)
(there are a few others instances in the same way)
there are a couple of 0-length array instances (mosts of them protected
by #ifdef _GNUC and fallback with 1 length array)
(and wine/msvcpdb.h uses them directly w/o fallbacks...)
I did a previous attempt with 0 length array for this but it never
landed
(https://www.winehq.org/pipermail/wine-devel/2022-February/207793.html)
so I'd wait for Alexandre's guidance on this
A+
More information about the wine-devel
mailing list