diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-04-18 01:35:53 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-04-18 01:35:53 +0000 |
commit | 783b56d54788f177881d68ae2ec7a7cb4bb38ac4 (patch) | |
tree | 77555207fa13c137e0c8dab8726f2ed96538e075 /util.c | |
parent | f069d236c79a7cb89542eba5ddc454d03ead5394 (diff) |
Initial commit
git-svn-id: file:///home/lennart/svn/public/vfax/trunk@3 541b366f-4dd8-0310-ae39-b2612fd50714
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -0,0 +1,21 @@ +#include <unistd.h> + +#include "util.h" + +ssize_t loop_write(int fd, const void *b, size_t l) { + ssize_t t = 0; + while (l) { + ssize_t r; + + if ((r = write(fd, b, l)) < 0) + return t == 0 ? r : t; + else if (r == 0) + return t; + + b += r; + l -= r; + t += r; + } + + return t; +} |