aboutsummaryrefslogtreecommitdiffstats
path: root/examples/scripts.v2/uudec
diff options
context:
space:
mode:
Diffstat (limited to 'examples/scripts.v2/uudec')
-rw-r--r--examples/scripts.v2/uudec45
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/scripts.v2/uudec b/examples/scripts.v2/uudec
new file mode 100644
index 0000000..7984058
--- /dev/null
+++ b/examples/scripts.v2/uudec
@@ -0,0 +1,45 @@
+:
+# @(#) uudec.sh 1.0 93/11/22
+# 92/08/04 john@armory.com (John H. DuBois III)
+# 93/11/22 Added help.
+
+isfalse()
+{
+ test 0 -eq "$1"
+}
+
+phelp()
+{
+"$name: process uuencoded files.
+Usage: uudec [-h] filename ...
+Options:
+-h: Print this help."
+}
+
+name=${0##*/}
+
+typeset -i force=0
+
+while getopts "hf" opt; do
+ case "$opt" in
+ h) phelp; exit 0;;
+ f) force=1;;
+ *) echo "$Usage" 1>&2; exit 2;;
+ esac
+done
+
+shift $((OPTIND - 1))
+
+for file; do
+ echo "$file"
+ while read b mode filename && [ "$b" != begin ]; do :; done < "$file"
+ if [ "$b" = begin ]; then
+ if [ -f "$filename" ] && isfalse $force; then
+ echo "Output file \"$filename\" exists. Not written."
+ else
+ uudecode "$file"
+ fi
+ else
+ echo "No begin line."
+ fi
+done