Don't use OPT_TMPDIR in tmpdir.sh. Define EXT_ARGV in parse_options.sh.

This commit is contained in:
Daniel Nichter
2011-12-19 11:29:21 -07:00
parent 8439962b45
commit 3266e0aeca
3 changed files with 25 additions and 18 deletions

View File

@@ -27,7 +27,7 @@ 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)
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"

View File

@@ -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="$$"

View File

@@ -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
# ###########################################################################