concat.c - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       concat.c (398B)
       ---
            1 /* See LICENSE file for copyright and license details. */
            2 #include <unistd.h>
            3 
            4 #include "../util.h"
            5 
            6 int
            7 concat(int f1, const char *s1, int f2, const char *s2)
            8 {
            9         char buf[BUFSIZ];
           10         ssize_t n;
           11 
           12         while ((n = read(f1, buf, sizeof(buf))) > 0) {
           13                 if (writeall(f2, buf, n) < 0) {
           14                         weprintf("write %s:", s2);
           15                         return -2;
           16                 }
           17         }
           18         if (n < 0) {
           19                 weprintf("read %s:", s1);
           20                 return -1;
           21         }
           22         return 0;
           23 }