ref: d6a91e0ae47b4e1df9a9783c49666e2a7357e277
dir: /sys/src/ape/lib/ap/plan9/write.c/
#include <errno.h>
#include <unistd.h>
#include "lib.h"
#include "sys9.h"
ssize_t
write(int d, const void *buf, size_t nbytes)
{
int n;
if(d<0 || d>=OPEN_MAX || !(_fdinfo[d].flags&FD_ISOPEN)){
errno = EBADF;
return -1;
}
if(_fdinfo[d].oflags&O_APPEND)
_SEEK(d, 0, 2);
n = _WRITE(d, buf, nbytes);
if(n < 0)
_syserrno();
return n;
}