#!/usr/bin/env python

import os
import sys

fd = sys.argv[1] if len(sys.argv) > 1 else '0'
fdout = sys.argv[2] if len(sys.argv) > 2 else fd if len(sys.argv) > 1 else '1'

if len(sys.argv) > 3 or not fd.isdigit() or not fdout.isdigit():
    sys.stderr.write('Usage: catn [<fd> [<fd-out>]]\n')
    sys.exit(1)

fd = int(fd)
fdout = int(fdout)

while True:
    buf = os.read(fd, 4096)
    if not buf:
        break
    nbytes = 0
    while nbytes < len(buf):
        nbytes += os.write(fdout, buf[nbytes:])

sys.exit(0)
