aboutsummaryrefslogtreecommitdiffstats
path: root/examples/scripts.v2/uudec
diff options
context:
space:
mode:
authorcvpcs <root@cvpcs.org>2010-06-02 11:02:31 -0500
committercvpcs <root@cvpcs.org>2010-06-02 11:02:31 -0500
commit772f20abb0a3a0979c440114bf3a1cff5b3cef03 (patch)
tree3384b9291d73a12542c526a8557218c7435491b0 /examples/scripts.v2/uudec
downloadexternal_bash-772f20abb0a3a0979c440114bf3a1cff5b3cef03.zip
external_bash-772f20abb0a3a0979c440114bf3a1cff5b3cef03.tar.gz
external_bash-772f20abb0a3a0979c440114bf3a1cff5b3cef03.tar.bz2
initial import of bash 4.1
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