#!/usr/bin/env zsh
-set -e
+setopt ERR_EXIT
DST=${DST:-paster.example.com 2020}
-[[ -s "$1" ]] && {
+ext="0:,"
+if [[ -s "$1" ]] ; then
src="$1"
bn=$src:t
e=${bn##*.}
- [[ $bn = $e ]] || ext="1:e${#e}:$e"
-} || {
+ [[ $bn = $e ]] || ext="${#e}:$e,"
+else
src=`mktemp`
trap "rm -f $src" HUP PIPE INT QUIT TERM EXIT
cat > $src
- [[ $# -eq 0 ]] || ext="1:e${#1}:$1"
-}
+ [[ $# -eq 0 ]] || ext="${#1}:$1,"
+fi
zmodload -F zsh/stat b:zstat
size=`zstat +size $src`
zmodload zsh/net/tcp
ztcp ${=DST}
fd=$REPLY
-( print -n "d${ext}1:v${size}:" ; cat $src ; print -n e ) >&$fd
+( print -n "${ext}${size}:" ; cat $src ; print -n , ) >&$fd
cat <&$fd
ztcp -c $fd