| 449 |
449 |
| 450 static size_t |
450 static size_t |
| 451 ssl_gnutls_read(PurpleSslConnection *gsc, void *data, size_t len) |
451 ssl_gnutls_read(PurpleSslConnection *gsc, void *data, size_t len) |
| 452 { |
452 { |
| 453 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc); |
453 PurpleSslGnutlsData *gnutls_data = PURPLE_SSL_GNUTLS_DATA(gsc); |
| 454 ssize_t s; |
454 ssize_t s = 0; |
| 455 |
455 |
| 456 s = gnutls_record_recv(gnutls_data->session, data, len); |
456 if(gnutls_data) |
| |
457 s = gnutls_record_recv(gnutls_data->session, data, len); |
| 457 |
458 |
| 458 if(s == GNUTLS_E_AGAIN || s == GNUTLS_E_INTERRUPTED) { |
459 if(s == GNUTLS_E_AGAIN || s == GNUTLS_E_INTERRUPTED) { |
| 459 s = -1; |
460 s = -1; |
| 460 errno = EAGAIN; |
461 errno = EAGAIN; |
| 461 |
462 |