diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2021-09-25 19:48:26 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2021-09-25 19:48:26 +0000 |
commit | f268a8871a061395633d943e6f177fa8f8008963 (patch) | |
tree | c01e2ddf63e4934ced4eb34764b520bd47070e08 /src/libstddjb/iobufferk_fill.c | |
parent | 754da814c32de5fbbd8b065e9f106cbb7bfc8ae6 (diff) | |
download | skalibs-f268a8871a061395633d943e6f177fa8f8008963.tar.xz |
Axe iobuffer
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libstddjb/iobufferk_fill.c')
-rw-r--r-- | src/libstddjb/iobufferk_fill.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/libstddjb/iobufferk_fill.c b/src/libstddjb/iobufferk_fill.c deleted file mode 100644 index c24ceba..0000000 --- a/src/libstddjb/iobufferk_fill.c +++ /dev/null @@ -1,56 +0,0 @@ -/* ISC license. */ - -#include <skalibs/sysdeps.h> - -#ifdef SKALIBS_HASSPLICE - -#include <skalibs/nonposix.h> -#include <fcntl.h> -#include <errno.h> -#include <skalibs/iobuffer.h> - -static ssize_t iobufferk_tee (iobufferk *k) -{ - ssize_t r = tee(k->fd[0], k->fd[1], IOBUFFERK_SIZE - k->n, k->nb & 1 ? SPLICE_F_NONBLOCK : 0) ; - if (r > 0) k->n += r ; - return r ; -} - -static ssize_t iobufferk_splice (iobufferk *k) -{ - ssize_t r = splice(k->fd[0], 0, k->fd[1], 0, IOBUFFERK_SIZE, k->nb ? SPLICE_F_NONBLOCK : 0) ; - if (r > 0) k->n += r ; - if ((r < 0) && (errno == EINVAL)) errno = ENOSYS ; - return r ; -} - -static ssize_t iobufferk_fill_3 (iobufferk *k) -{ - ssize_t r = splice(k->fd[0], 0, k->p[1], 0, IOBUFFERK_SIZE - k->n, k->nb & 1 ? SPLICE_F_NONBLOCK : 0) ; - if (r > 0) k->n += r ; - if ((r < 0) && (errno == EINVAL)) errno = ENOSYS ; - return r ; -} - -iobufferk_input_func_ref const iobufferk_fill_f[4] = -{ - &iobufferk_tee, &iobufferk_splice, &iobufferk_splice, &iobufferk_fill_3 -} ; - -#else - -#include <errno.h> -#include <skalibs/iobuffer.h> - -static ssize_t iobufferk_inosys (iobufferk *k) -{ - (void)k ; - return (errno = ENOSYS, -1) ; -} - -iobufferk_input_func_ref const iobufferk_fill_f[4] = -{ - &iobufferk_inosys, &iobufferk_inosys, &iobufferk_inosys, &iobufferk_inosys -} ; - -#endif |