diff --git a/lib/bash/parse_options.sh b/lib/bash/parse_options.sh index 18e66412..9eaccb06 100644 --- a/lib/bash/parse_options.sh +++ b/lib/bash/parse_options.sh @@ -26,9 +26,9 @@ set -u # Global variables. These must be global because declare inside a # sub will be scoped locally. -declare -a ARGV # non-option args (probably input files) -declare EXT_ARGV # everything after -- (args for an external command) -declare -a OPT_ERRS # errors while parsing options, for usage_or_errors() +declare -a ARGV # non-option args (probably input files) +EXT_ARGV="" # everything after -- (args for an external command) +declare -a OPT_ERRS # errors while parsing options, for usage_or_errors() OPT_VERSION="no" OPT_HELP="no" diff --git a/lib/bash/tmpdir.sh b/lib/bash/tmpdir.sh index 6349bf02..d1b9e1b7 100644 --- a/lib/bash/tmpdir.sh +++ b/lib/bash/tmpdir.sh @@ -25,22 +25,23 @@ set -u # Global variables. TMPDIR="" -OPT_TMPDIR=${OPT_TMPDIR:""} # Sub: mk_tmpdir # Create a secure tmpdir and set TMPDIR. # -# Optional Global Variables: -# OPT_TMPDIR - User-specified --tmpdir (default none). +# Optional Arguments: +# dir - User-specified tmpdir (default none). # # Set Global Variables: # TMPDIR - Absolute path of secure temp directory. mk_tmpdir() { - if [ -n "$OPT_TMPDIR" ]; then - TMPDIR="$OPT_TMPDIR" - if [ ! -d "$TMPDIR" ]; then - mkdir $TMPDIR || die "Cannot make $TMPDIR" + local dir=${1:-""} + + if [ -n "$dir" ]; then + if [ ! -d "$dir" ]; then + mkdir $dir || die "Cannot make tmpdir $dir" fi + TMPDIR="$dir" else local tool=`basename $0` local pid="$$" diff --git a/t/lib/bash/tmpdir.sh b/t/lib/bash/tmpdir.sh index a5b86823..55098f4d 100644 --- a/t/lib/bash/tmpdir.sh +++ b/t/lib/bash/tmpdir.sh @@ -17,19 +17,25 @@ cmd_ok "test ! -d $tmpdir" "rm_tmpdir" is "$TMPDIR" "" "rm_tmpdir resets TMPDIR" -# --tmpdir -OPT_TMPDIR="/tmp/use--tmpdir" +# ########################################################################### +# User-specified tmpdir. +# ########################################################################### + +local dir="/tmp/use--tmpdir" is "$TMPDIR" "" "TMPDIR not defined" -cmd_ok "test ! -d $OPT_TMPDIR" "--tmpdir does not exist yet" +cmd_ok "test ! -d $dir" "--tmpdir does not exist yet" -mk_tmpdir -is "$TMPDIR" "/tmp/use--tmpdir" "mk_tmpdir uses --tmpdir" +mk_tmpdir $dir +is "$TMPDIR" "$dir" "mk_tmpdir uses --tmpdir" -cmd_ok "test -d $TMPDIR" "mk_tmpdir creates --tmpdir" - -tmpdir=$TMPDIR; +cmd_ok "test -d $dir" "mk_tmpdir creates --tmpdir" rm_tmpdir + cmd_ok "test ! -d $tmpdir" "rm_tmpdir removes --tmpdir" + +# ########################################################################### +# Done +# ###########################################################################