diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-01-05 15:08:28 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-01-05 16:44:19 +0100 |
commit | cb4ea413569803cbbf291abb27d30d14bfa971c5 (patch) | |
tree | 570e7761f6197df203f7209d41b04e145edc35f3 /lib/gnutls_buffers.c | |
parent | 43082a67c7514d65301d157fb567a133138a85ab (diff) | |
download | gnutls-cb4ea413569803cbbf291abb27d30d14bfa971c5.tar.gz |
Give precedence to vector push function
Diffstat (limited to 'lib/gnutls_buffers.c')
-rw-r--r-- | lib/gnutls_buffers.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c index ef2ad236b3..e4279a229e 100644 --- a/lib/gnutls_buffers.c +++ b/lib/gnutls_buffers.c @@ -483,11 +483,13 @@ _gnutls_writev(gnutls_session_t session, const giovec_t * giovec, } } - if (session->internals.push_func != NULL || no_writev != 0) - i = _gnutls_writev_emu(session, fd, giovec, giovec_cnt); - else + if (session->internals.vec_push_func != NULL && no_writev == 0) i = session->internals.vec_push_func(fd, giovec, giovec_cnt); + else if (session->internals.push_func) + i = _gnutls_writev_emu(session, fd, giovec, giovec_cnt); + else + return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR); if (i == -1) { int err = get_errno(session); |