--- a/src/irc_conn.c Sun May 03 17:14:09 2009 +0300
+++ b/src/irc_conn.c Sun May 03 17:15:45 2009 +0300
@@ -215,7 +215,7 @@
struct irc_conn *conn = arg;
// EOF after quit?
- if (ERROR_CODE(err) == ERR_READ_EOF && conn->quitting) {
+ if (ERROR_CODE(err) == ERR_EOF && conn->quitting) {
// udpate states
conn->registered = false;
conn->quitting = false;
--- a/src/sock_gnutls.c Sun May 03 17:14:09 2009 +0300
+++ b/src/sock_gnutls.c Sun May 03 17:15:45 2009 +0300
@@ -202,6 +202,7 @@
if (sock_gnutls_handshake(sock, &err) == 0) {
// handshake continues
+ // XXX: this state flag is completely wrong
} else if (SOCK_GNUTLS_TRANSPORT(sock)->connected) {
// the async connect process has now completed, either succesfully or with an error
// invoke the user connect callback directly with appropriate error
@@ -214,13 +215,13 @@
else
// re-handshake completed, so continue with the transport_callbacks
- transport_fd_invoke(SOCK_GNUTLS_FD(sock), what);
+ transport_invoke(SOCK_GNUTLS_TRANSPORT(sock), what);
}
} else {
// normal sock_stream operation
// gnutls might be able to proceed now, so invoke user callbacks
- transport_fd_invoke(SOCK_GNUTLS_FD(sock), what);
+ transport_invoke(SOCK_GNUTLS_TRANSPORT(sock), what);
}
}
@@ -241,7 +242,7 @@
RETURN_SET_ERROR_EXTRA(err, ERR_GNUTLS_RECORD_RECV, ret);
else if (ret == 0)
- return SET_ERROR(err, ERR_READ_EOF);
+ return SET_ERROR(err, ERR_EOF);
// EAGAIN?
@@ -270,10 +271,10 @@
// errors
if (ret < 0 && ret != GNUTLS_E_AGAIN)
- RETURN_SET_ERROR_EXTRA(err, ERR_GNUTLS_RECORD_RECV, ret);
+ RETURN_SET_ERROR_EXTRA(err, ERR_GNUTLS_RECORD_SEND, ret);
else if (ret == 0)
- return SET_ERROR(err, ERR_READ_EOF);
+ return SET_ERROR(err, ERR_WRITE_EOF);
// eagain?