#include <stdlib.h>
#include <string.h>
#include "iobuf.h"

unsigned iobuf_bufsize = 4096;

int iobuf_init(iobuf* io, int fd, unsigned bufsize, char* buffer, unsigned flags)
{
  memset(io, 0, sizeof *io);
  if (!bufsize) bufsize = iobuf_bufsize;
  if (!buffer) {
    if ((buffer = malloc(bufsize)) == 0) return 0;
    flags |= IOBUF_NEEDSFREE;
  }
  io->fd = fd;
  io->buffer = buffer;
  io->bufsize = bufsize;
  io->flags = flags;
  return 1;
}


syntax highlighted by Code2HTML, v. 0.9.1