ref: 17f7f6be4e1a316c0f5f26ff70e047aece4de2bc
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; }