aboutsummaryrefslogtreecommitdiff
path: root/src/base/bufio/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/bufio/write.c')
-rw-r--r--src/base/bufio/write.c40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/base/bufio/write.c b/src/base/bufio/write.c
deleted file mode 100644
index 8b64055..0000000
--- a/src/base/bufio/write.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "internal.h"
-
-intptr
-bio·write(io·Header *io, intptr len, void *buf)
-{
- char *b;
- intptr c, o, nw, n;
-
- b = buf;
- c = len;
- o = io->olen;
-
- while(c > 0){
- n = -o;
- if(n > c)
- n = c;
- if(n == 0){
- if(io->state != io·BufWtr)
- return io·BufEof;
- switch(sys·write(io->fd, io->cap, io->b, &nw)){
- case 0:
- if(nw != io->cap) goto error;
- io->pos += nw;
- o = -io->cap;
- continue;
- case sys·ErrorInterrupt:
- io->state = io·BufNil;
- /* fallthrough */
- default: error:
- return io·BufEof;
- }
- }
- mem·move(io->e+o, b, n);
- o += n;
- c -= n;
- b += n;
- }
- io->olen = o;
- return len-c;
-}