# function zftype { local type zftmp=${TMPPREFIX}zftype$$ [[ $curcontext = :zf*: ]] || local curcontext=:zftype: zfautocheck -d if (( $# == 0 )); then zftp type >$zftmp type=$(<$zftmp) rm -f $zftmp if [[ $type = I ]]; then print "Current type is image (binary)" return 0 elif [[ $type = A ]]; then print "Current type is ASCII" return 0 else return 1 fi else if [[ $1 == (#i)a(sc(ii|)|) ]]; then type=A elif [[ $1 == (#i)i(m(age|)|) || $1 == (#i)b(in(ary|)|) ]]; then type=I else print "Type not recognised: $1" 2>&1 return 1 fi zftp type $type fi # }