+2005-05-05 Mikael Hallendal <micke@imendio.com>
+
+ * loudmouth/lm-ssl.c: (_lm_ssl_read):
+ - Don't accidently return a negative bytes_read.
+ - Fixes LM-3, reported by Daniel Lavalliere.
+
2005-05-05 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-connection.c: (connection_free):
_lm_ssl_read (LmSSL *ssl, gchar *buf, gint len, gsize *bytes_read)
{
GIOStatus status;
-
- *bytes_read = gnutls_record_recv (ssl->gnutls_session, buf, len);
+ gint b_read;
+
+ *bytes_read = 0;
+ b_read = gnutls_record_recv (ssl->gnutls_session, buf, len);
//g_print ("%d bytes read\n", size);
status = G_IO_STATUS_AGAIN;
}
else if (*bytes_read > len) {
- *bytes_read = 0;
status = G_IO_STATUS_EOF;
}
else if (*bytes_read < 0) {
status = G_IO_STATUS_ERROR;
} else {
+ *bytes_read = (guint) b_read;
status = G_IO_STATUS_NORMAL;
}