about summary refs log tree commit diff
path: root/Functions/Zftp/zftype
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Zftp/zftype')
-rw-r--r--Functions/Zftp/zftype30
1 files changed, 30 insertions, 0 deletions
diff --git a/Functions/Zftp/zftype b/Functions/Zftp/zftype
new file mode 100644
index 000000000..c3b93b7a0
--- /dev/null
+++ b/Functions/Zftp/zftype
@@ -0,0 +1,30 @@
+# function zftype {
+local type zftmp=${TMPPREFIX}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
+# }