Port libs3 to MSVC using C++ VLA shims. I did not port the s3 utility. Remove any use of select(), which isn't fit for purpose in modern code. #100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, firstly thanks very much for libs3, it avoided using the not great AWS C++ SDK, a real boon.
This PR comes from the port of the cmake hunter edition of your library. It is therefore not usable as-is to you. However, I opened it so you and anyone else who might read this can pick through it for any useful bits, the obvious one being MSVC build compatibility.
I also removed anything using
select()
, which is unfit for use in modern high fd count programs. I rewrote the functions which need to wait on many fds to signal to use the libcurl API for that. This also let me remove including<winsock2.h>
in your primary interface file just to definefdset
, as that is a highly polluting header.