summaryrefslogtreecommitdiff
path: root/src/libstddjb/bufalloc_flush.c
blob: b6de51eb986eb3699df53b42b4d2d7a7036b2506 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
/* ISC license. */

#include <skalibs/functypes.h>
#include <skalibs/allreadwrite.h>
#include <skalibs/bufalloc.h>

int bufalloc_flush (bufalloc *ba)
{
  ba->p += allreadwrite((iofunc_t_ref)ba->op, ba->fd, ba->x.s + ba->p, ba->x.len - ba->p) ;
  bufalloc_clean(ba) ;
  return !ba->x.len ;
}