libs3
libs3 copied to clipboard
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.
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 define fdset, as that is a highly polluting header.