summaryrefslogtreecommitdiff
path: root/substdio_copy.c
blob: 71cf200b2e4954a47ad29b82299da152c24262e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "substdio.h"

int substdio_copy(ssout,ssin)
register substdio *ssout;
register substdio *ssin;
{
  register int n;
  register char *x;

  for (;;) {
    n = substdio_feed(ssin);
    if (n < 0) return -2;
    if (!n) return 0;
    x = substdio_PEEK(ssin);
    if (substdio_put(ssout,x,n) == -1) return -3;
    substdio_SEEK(ssin,n);
  }
}