summary refs log tree commit diff
path: root/src/libstddjb/iobufferk_flush.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstddjb/iobufferk_flush.c')
-rw-r--r--src/libstddjb/iobufferk_flush.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libstddjb/iobufferk_flush.c b/src/libstddjb/iobufferk_flush.c
index 674ffec..9bbff7d 100644
--- a/src/libstddjb/iobufferk_flush.c
+++ b/src/libstddjb/iobufferk_flush.c
@@ -13,7 +13,7 @@ static int iobufferk_flush_0 (iobufferk *k)
 {
   while (k->n)
   {
-    register int r = splice(k->fd[0], 0, k->p[1], 0, k->n, 0) ;
+    ssize_t r = splice(k->fd[0], 0, k->p[1], 0, k->n, 0) ;
     if (r < 0) return 0 ;
     else if (!r) break ;
     k->n -= r ;
@@ -31,7 +31,7 @@ static int iobufferk_flush_3 (iobufferk *k)
 {
   while (k->n)
   {
-    register int r = splice(k->p[0], 0, k->fd[1], 0, k->n, SPLICE_F_MORE | (k->nb & 2 ? SPLICE_F_NONBLOCK : 0)) ;
+    ssize_t r = splice(k->p[0], 0, k->fd[1], 0, k->n, SPLICE_F_MORE | (k->nb & 2 ? SPLICE_F_NONBLOCK : 0)) ;
     if (r < 0)
     {
       if (errno == EINVAL) errno = ENOSYS ;
@@ -43,7 +43,7 @@ static int iobufferk_flush_3 (iobufferk *k)
   return 1 ;
 }
 
-iobufferk_io_func_t_ref const iobufferk_flush_f[4] =
+iobufferk_output_func_t_ref const iobufferk_flush_f[4] =
 {
   &iobufferk_flush_0, &fakeflush, &fakeflush, &iobufferk_flush_3
 } ;
@@ -53,9 +53,15 @@ iobufferk_io_func_t_ref const iobufferk_flush_f[4] =
 #include <errno.h>
 #include <skalibs/iobuffer.h>
 
-iobufferk_io_func_t_ref const iobufferk_flush_f[4] =
+static int iobufferk_onosys (iobuffer_k *k)
 {
-  &iobufferk_nosys, &iobufferk_nosys, &iobufferk_nosys, &iobufferk_nosys
+  (void)k ;
+  return (errno = ENOSYS, -1) ;
+}
+
+iobufferk_output_func_t_ref const iobufferk_flush_f[4] =
+{
+  &iobufferk_onosys, &iobufferk_onosys, &iobufferk_onosys, &iobufferk_onosys
 } ;
 
 #endif