diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/builtin_openssl2/e_os.h | 6 | ||||
| -rw-r--r-- | drivers/register_driver_types.cpp | 7 | ||||
| -rw-r--r-- | drivers/unix/packet_peer_udp_posix.cpp | 4 |
3 files changed, 12 insertions, 5 deletions
diff --git a/drivers/builtin_openssl2/e_os.h b/drivers/builtin_openssl2/e_os.h index e801b4106a..7323a7b4bf 100644 --- a/drivers/builtin_openssl2/e_os.h +++ b/drivers/builtin_openssl2/e_os.h @@ -318,8 +318,8 @@ static unsigned int _strlen31(const char *str) # undef isupper # undef isxdigit # endif -# if defined(_MSC_VER) && !defined(_DLL) && defined(stdin) -# if _MSC_VER>=1300 +# if defined(_MSC_VER) && !defined(_WIN32_WCE) && !defined(_DLL) && defined(stdin) +# if _MSC_VER>=1300 && _MSC_VER<1600 # undef stdin # undef stdout # undef stderr @@ -327,7 +327,7 @@ static unsigned int _strlen31(const char *str) # define stdin (&__iob_func()[0]) # define stdout (&__iob_func()[1]) # define stderr (&__iob_func()[2]) -# elif defined(I_CAN_LIVE_WITH_LNK4049) +# elif _MSC_VER<1300 && defined(I_CAN_LIVE_WITH_LNK4049) # undef stdin # undef stdout # undef stderr diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp index 2647d23011..c4ab54d102 100644 --- a/drivers/register_driver_types.cpp +++ b/drivers/register_driver_types.cpp @@ -29,6 +29,11 @@ #include "convex_decomp/b2d_decompose.h" #endif +#ifdef TOOLS_ENABLED +#include "pe_bliss/pe_bliss_godot.h" +#include "platform/windows/export/export.h" +#endif + #ifdef TREMOR_ENABLED #include "teora/audio_stream_ogg.h" #endif @@ -246,7 +251,7 @@ void register_driver_types() { #ifdef ETC1_ENABLED _register_etc1_compress_func(); #endif - + initialize_chibi(); } diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp index 94b4c35923..2111619080 100644 --- a/drivers/unix/packet_peer_udp_posix.cpp +++ b/drivers/unix/packet_peer_udp_posix.cpp @@ -121,7 +121,7 @@ Error PacketPeerUDPPosix::_poll(bool p_wait) { struct sockaddr_in from = {0}; socklen_t len = sizeof(struct sockaddr_in); int ret; - while ( (ret = recvfrom(sockfd, recv_buffer, MIN(sizeof(recv_buffer),rb.data_left()-12), p_wait?0:MSG_DONTWAIT, (struct sockaddr*)&from, &len)) > 0) { + while ( (ret = recvfrom(sockfd, recv_buffer, MIN((int)sizeof(recv_buffer),MAX(rb.space_left()-12, 0)), p_wait?0:MSG_DONTWAIT, (struct sockaddr*)&from, &len)) > 0) { rb.write((uint8_t*)&from.sin_addr, 4); uint32_t port = ntohs(from.sin_port); rb.write((uint8_t*)&port, 4); @@ -131,6 +131,8 @@ Error PacketPeerUDPPosix::_poll(bool p_wait) { ++queue_count; }; + + // TODO: Should ECONNRESET be handled here? if (ret == 0 || (ret == -1 && errno != EAGAIN) ) { close(); return FAILED; |