Currently GetFileType() ends up returning the file type solely based on Unix fd type if it gets it from server. The problematic case is when our process gets a pipe or socket fd as a stdin or stderr from Unix. The server object which gets created through wine_server_fd_to_handle is a regular file regardless of the underlying Unix fd type. It probably can't be anything else, at least for pipes, as the pipe should have both ends but we have only one in this case.
That causes problems, e. g., with libuv (used, e. g., by Vampire Survivors). It checks stdout handle type and if it is pipe it tries to do SetNamedPipeHandleState() on it and does not tolerate the failure.
It looks more sensible to me to report all the pipes and sockets created through wine_server_fd_to_handle() as regular files as that matches the server objects we have for them. When that is not the case we should get the correct type from server fd type.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1425
Right now we filter entry points for the target architecture when parsing .spec file. On ARM64X, we're interested in entry points for two different targets. On MSVC (and experimental LLVM), creating importlibs that support both ARM64EC and ARM64 requires passing two .def files. With .spec files, we may generate them both from the same .spec file.
This separates per-target exports into a separate struct, while parser stores all entry points specified in the .spec file.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5082
Add a dummy track parser, that reads through MIDI tracks and events. To make sure we understand the file structure correctly, no actual tracks or events are generated.
Also add test cases to make sure we read through a MIDI file correctly.
This is skeleton of the actual MIDI parser. Pending on the merge of !4982
--
v2: dmime: Read through a MIDI file.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5081
Add a dummy track parser, that reads through MIDI tracks and events. To make sure we understand the file structure correctly, no actual tracks or events are generated.
Also add test cases to make sure we read through a MIDI file correctly.
This is skeleton of the actual MIDI parser. Pending on the merge of !4982
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5081