X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=buffer.c;h=4e41b3cf796cff903739478ce753621a66d9daa6;hb=9a6e88e7139970a218bbcd027a1ef461f06c8893;hp=bdd5715d114a49e5abe2fab00f510eb949594698;hpb=b9983db8164466ba74eaf52285fe932846fb9f05;p=apps%2Fpfixtools.git diff --git a/buffer.c b/buffer.c index bdd5715..4e41b3c 100644 --- a/buffer.c +++ b/buffer.c @@ -33,6 +33,7 @@ * Copyright © 2006-2007 Pierre Habouzit */ +#include #include #include @@ -80,3 +81,13 @@ ssize_t buffer_read(buffer_t *buf, int fd, ssize_t count) buffer_extend(buf, res); return res; } + +ssize_t buffer_write(buffer_t *buf, int fd) +{ + ssize_t res = write(fd, buf->data, buf->len); + if (res < 0) { + return errno == EINTR || errno == EAGAIN ? 0 : -1; + } + buffer_consume(buf, res); + return res; +}