`@autoreleasepool` is the newer (although still 10+ years old) way of creating ObjC autorelease pools. It allows simpler control flow, is possibly more efficient, and is a prerequisite to adopting ARC (no immediate plans for that, but it could happen in the future).
I didn't add an indentation level for `@autoreleasepool` blocks covering a whole function (the common case by far), but did indent smaller blocks.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4018
> I think I never encountered this issue in the wild, hit it back then when was making tests for something else, sent this and forgot about it too.
I don't know for sure that I've hit this in the wild, but I've *definitely* hit that assertion before and been unable to track it down. And, well, no matter what happens, the server shouldn't crash, so this is definitely worth fixing.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/202#note_47654
`getpeername()` is currently handled in ntdll. This merge request changes ntdll to forward `getpeername()` to wineserver. The implementation utilises new `peer_addr` and `peer_addr_len` fields in wineserver's `struct sock`.
This fixes multiple `todo_wine`s in `ws2_32/tests` and allows for more accurate peer names to be provided in case the address the socket is bound to on the Unix side does not match what `bind()` was called with on the Windows side.
*This merge request was originally intended to be included in !2786 (Add support for AF_UNIX sockets) but was split into its own merge request because this is not an insignificant change.*
--
v34: server: Move getpeername() implementation from ntdll/unix.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3074