diff options
author | Christian Beier <dontmind@freeshell.org> | 2011-03-03 16:11:38 +0100 |
---|---|---|
committer | Christian Beier <dontmind@freeshell.org> | 2011-03-03 16:11:38 +0100 |
commit | cf72a0f7c35ee791d5b4a81ef799d006e1b16bda (patch) | |
tree | 2d4029c928a844b9b8c335c3b6c0730053f1e694 /libvncclient/tls.c | |
parent | f5b96e57bfaa05d21efc98f892a1b2b109b17253 (diff) | |
download | libtdevnc-cf72a0f7c35ee791d5b4a81ef799d006e1b16bda.tar.gz libtdevnc-cf72a0f7c35ee791d5b4a81ef799d006e1b16bda.zip |
Call WSAGetLastError() everywhere errno is read after a Winsock call.
Winsock does NOT update errno for us, we have fetch the last error
manually using WSAGetLastError().
Diffstat (limited to 'libvncclient/tls.c')
-rw-r--r-- | libvncclient/tls.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libvncclient/tls.c b/libvncclient/tls.c index 206dbda..eb89413 100644 --- a/libvncclient/tls.c +++ b/libvncclient/tls.c @@ -62,6 +62,9 @@ PushTLS(gnutls_transport_ptr_t transport, const void *data, size_t len) ret = write(client->sock, data, len); if (ret < 0) { +#ifdef WIN32 + errno=WSAGetLastError(); +#endif if (errno == EINTR) continue; return -1; } @@ -81,6 +84,9 @@ PullTLS(gnutls_transport_ptr_t transport, void *data, size_t len) ret = read(client->sock, data, len); if (ret < 0) { +#ifdef WIN32 + errno=WSAGetLastError(); +#endif if (errno == EINTR) continue; return -1; } |