#!/bin/bash

((bs=256*1024))

infile=$1
shift

pat="(.*):(.*)"
if [[ "$infile" =~ $pat ]]; then
        uh=${BASH_REMATCH[1]}
        rfile=${BASH_REMATCH[2]}
	pat="(.*)@(.*)"
        if [[ "$uh" =~ $pat ]]; then
                ruser=${BASH_REMATCH[1]}
                rhost=${BASH_REMATCH[2]}
        else
                ruser=""
                rhost=$uh
        fi
else
        rfile=$infile
        ruser=""
        rhost=""
fi

if test -z "$ruser"; then
	bbftp $@ -e "pipe dd bs=$bs if=\"$rfile\"" $rhost | dd bs=$bs of="$rfile"
else
	bbftp $@ -e "pipe dd bs=$bs if=\"$rfile\"" -u $ruser $rhost | dd bs=$bs of="$rfile"
fi
