File: iob.c

package info (click to toggle)
libowfat 0.22-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,148 kB
  • ctags: 976
  • sloc: ansic: 10,424; makefile: 42
file content (24 lines) | stat: -rw-r--r-- 484 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <assert.h>
#include "iob.h"
#include "buffer.h"
#include <unistd.h>

static int64 write_cb(int64 fd,const void* buf,uint64 len) {
  if (len>2) len=2;
  return write(fd,buf,len);
}

int main() {
  int64 fd;
  io_batch* b;
  int64 r;
  assert(io_readfile(&fd,"GNUmakefile"));
  assert(b=iob_new(10));
  assert(iob_addbuf(b,"Huhu",4));
  assert(iob_addbuf(b," fnord\n",7));
  assert(iob_addfile(b,fd,10,10));
  do {
    r=iob_write(1,b,write_cb);
  } while (r>0);
  return 0;
}