summaryrefslogtreecommitdiffstats
path: root/substdio_copy.c
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2013-02-04 00:08:53 +0100
committermanuel <manuel@mausz.at>2013-02-04 00:08:53 +0100
commit69aec538b456402170dc723af417ba5c05389c32 (patch)
treee6f34c543f17c6392447ea337b2e2868212424d1 /substdio_copy.c
downloadqmail-69aec538b456402170dc723af417ba5c05389c32.tar.gz
qmail-69aec538b456402170dc723af417ba5c05389c32.tar.bz2
qmail-69aec538b456402170dc723af417ba5c05389c32.zip
qmail 1.03 import
Diffstat (limited to 'substdio_copy.c')
-rw-r--r--substdio_copy.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/substdio_copy.c b/substdio_copy.c
new file mode 100644
index 0000000..71cf200
--- /dev/null
+++ b/substdio_copy.c
@@ -0,0 +1,18 @@
1#include "substdio.h"
2
3int substdio_copy(ssout,ssin)
4register substdio *ssout;
5register substdio *ssin;
6{
7 register int n;
8 register char *x;
9
10 for (;;) {
11 n = substdio_feed(ssin);
12 if (n < 0) return -2;
13 if (!n) return 0;
14 x = substdio_PEEK(ssin);
15 if (substdio_put(ssout,x,n) == -1) return -3;
16 substdio_SEEK(ssin,n);
17 }
18}