summaryrefslogtreecommitdiff
path: root/vio
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2009-11-25 15:20:14 +0100
committerVladislav Vaintroub <vvaintroub@mysql.com>2009-11-25 15:20:14 +0100
commit53cc3b7bf817f77124f31affb9e33de205e7528f (patch)
treee06536a82dab9f0549416006195fc1371ff528db /vio
parent2f3e777797a643284ffdd0f31c820497097ab451 (diff)
parent0a9d4e675ad3b176909d30c5a6aa8ab1f0b7186b (diff)
downloadmariadb-git-53cc3b7bf817f77124f31affb9e33de205e7528f.tar.gz
merge
Diffstat (limited to 'vio')
-rw-r--r--vio/viosocket.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/vio/viosocket.c b/vio/viosocket.c
index 30187cbed56..51345d072b2 100644
--- a/vio/viosocket.c
+++ b/vio/viosocket.c
@@ -855,3 +855,27 @@ int vio_close_shared_memory(Vio * vio)
}
#endif /* HAVE_SMEM */
#endif /* __WIN__ */
+
+
+/**
+ Number of bytes in the read buffer.
+
+ @return number of bytes in the read buffer or < 0 if error.
+*/
+
+ssize_t vio_pending(Vio *vio)
+{
+#ifdef HAVE_OPENSSL
+ SSL *ssl= (SSL*) vio->ssl_arg;
+#endif
+
+ if (vio->read_pos < vio->read_end)
+ return vio->read_end - vio->read_pos;
+
+#ifdef HAVE_OPENSSL
+ if (ssl)
+ return SSL_pending(ssl);
+#endif
+
+ return 0;
+}