return -1; /* connection status unknown */
#endif /* USE_SSLEAY */
}
+
+bool Curl_ssl_data_pending(struct connectdata *conn,
+ int connindex)
+{
+#ifdef USE_SSLEAY
+ /* OpenSSL-specific */
+ if(conn->ssl[connindex].handle)
+ /* SSL is in use */
+ return SSL_pending(conn->ssl[connindex].handle);
+#endif
+ return FALSE; /* nothing pending */
+
+}
CURLcode Curl_ssl_shutdown(struct connectdata *conn, int sockindex);
+bool Curl_ssl_data_pending(struct connectdata *conn,
+ int connindex);
+
#if !defined(USE_SSL) && !defined(SSLGEN_C)
/* set up blank macros for none-SSL builds */
#define Curl_ssl_close_all(x)
+#define Curl_ssl_data_pending(x) 0
#endif
#define SSL_SHUTDOWN_TIMEOUT 10000 /* ms */
return CURLE_OK;
}
-#ifdef USE_SSLEAY
-/* FIX: this is nasty OpenSSL-specific code that really shouldn't be here */
static int data_pending(struct connectdata *conn)
{
- if(conn->ssl[FIRSTSOCKET].handle)
- /* SSL is in use */
- return SSL_pending(conn->ssl[FIRSTSOCKET].handle);
-
- return 0; /* nothing */
+ return Curl_ssl_data_pending(conn, FIRSTSOCKET);
}
-#else
-/* non-SSL never have pending data */
-#define data_pending(x) 0
-#endif
#ifndef MIN
#define MIN(a,b) (a < b ? a : b)