X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fipdbg-la%2Fprotocol.c;h=4c8f33b41725514a8a174d41f128e8f71a543e82;hb=00f0016cc361008cd9eb2e52fd2a01f333c0e3cd;hp=4c97d0b9389e7d88547c4c07048a71a1230c3154;hpb=24fbd9f8140e5d6821a89d3e1d00136ffa56401e;p=libsigrok.git diff --git a/src/hardware/ipdbg-la/protocol.c b/src/hardware/ipdbg-la/protocol.c index 4c97d0b9..4c8f33b4 100644 --- a/src/hardware/ipdbg-la/protocol.c +++ b/src/hardware/ipdbg-la/protocol.c @@ -23,19 +23,15 @@ #define _WIN32_WINNT 0x0501 #include #include -#endif - -#include -#include - -#ifndef _WIN32 +#else #include #include #include #include #include #endif - +#include +#include #include #include "protocol.h" @@ -69,8 +65,10 @@ static gboolean data_available(struct ipdbg_la_tcp *tcp) { -#ifdef __WIN32__ +#ifdef _WIN32 + u_long bytes_available; ioctlsocket(tcp->socket, FIONREAD, &bytes_available); + return (bytes_available > 0); #else int status; @@ -80,7 +78,7 @@ static gboolean data_available(struct ipdbg_la_tcp *tcp) } return (status < 1) ? FALSE : TRUE; -#endif // __WIN32__ +#endif } SR_PRIV struct ipdbg_la_tcp *ipdbg_la_tcp_new(void) @@ -158,7 +156,7 @@ SR_PRIV int ipdbg_la_tcp_close(struct ipdbg_la_tcp *tcp) static int tcp_send(struct ipdbg_la_tcp *tcp, const uint8_t *buf, size_t len) { int out; - out = send(tcp->socket, buf, len, 0); + out = send(tcp->socket, (const char *)buf, len, 0); if (out < 0) { sr_err("Send error: %s", g_strerror(errno)); @@ -198,7 +196,7 @@ SR_PRIV int ipdbg_la_tcp_receive(struct ipdbg_la_tcp *tcp, if (data_available(tcp)) { while (received < 1) { - int len = recv(tcp->socket, buf, 1, 0); + int len = recv(tcp->socket, (char *)buf, 1, 0); if (len < 0) { sr_err("Receive error: %s", g_strerror(errno));