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