9 Jul
2025
9 Jul
'25
6:56 a.m.
Rémi Bernon (@rbernon) commented about tools/widl/metadata.c:
+{ + const var_t *arg; + UINT len = 3, count = 0; + + buf[0] = SIG_TYPE_HASTHIS; + buf[1] = 0; + buf[2] = ELEMENT_TYPE_VOID; + + if (method) LIST_FOR_EACH_ENTRY( arg, type_function_get_args(method->declspec.type), var_t, entry ) count++; + + if (count > 3) LIST_FOR_EACH_ENTRY( arg, type_function_get_args(method->declspec.type), var_t, entry ) + { + if (--count < 3) break; /* omit last 3 standard composition args */ + len += make_type_sig( arg->declspec.type, buf + len ); + buf[1]++; + } This looks weird and arbitrary, would you mind detailing what it is about?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8525#note_109270