writeall.c - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) 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 }