| writeall.c - sbase - suckless unix tools | |
| git clone git://git.suckless.org/sbase | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| writeall.c (318B) | |
| --- | |
| 1 /* See LICENSE file for copyright and license details. */ | |
| 2 #include <unistd.h> | |
| 3 | |
| 4 #include "../util.h" | |
| 5 | |
| 6 ssize_t | |
| 7 writeall(int fd, const void *buf, size_t len) | |
| 8 { | |
| 9 const char *p = buf; | |
| 10 ssize_t n; | |
| 11 | |
| 12 while (len) { | |
| 13 n = write(fd, p, len); | |
| 14 if (n <= 0) | |
| 15 return n; | |
| 16 p += n; | |
| 17 len -= n; | |
| 18 } | |
| 19 | |
| 20 return p - (const char *)buf; | |
| 21 } |