commit 4ce8771e9905ce8b6b8f60ab96c92990e05a1416
parent 82e0533892050c79ee629b18d8c841b0d7c462c8
Author: Jaromil <jaromil@dyne.org>
Date: Fri, 14 Nov 2014 20:12:30 +0100
Correct wrapping of cli argument arrays
Fixes also piping to ssh for remote tomb commands
This fix was suggested by @brianmay on #139
Diffstat:
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tomb b/tomb
@@ -49,7 +49,7 @@ typeset TOMBEXEC=$0
# Keep a reference of the original command line arguments
typeset -a OLDARGS
-for arg in ${argv}; do OLDARGS+=($arg); done
+for arg in "${(@)argv}"; do OLDARGS+=("$arg"); done
# Special command requirements
typeset -a DD WIPE MKFS
@@ -418,7 +418,7 @@ EOF
_verbose "Escalating privileges using sudo-pwd."
sudo -S -v <<<`option_value --sudo-pwd`
fi
- sudo "${TOMBEXEC}" -U ${UID} -G ${GID} -T ${TTY} "${(@)OLDARGS}"
+ sudo "${TOMBEXEC}" -U "${UID}" -G "${GID}" -T "${TTY:-SSH_TTY}" "${(@)OLDARGS}"
exit $?
fi # are we root already
@@ -2425,7 +2425,7 @@ main() {
done
done
local -a oldstar
- oldstar=($argv)
+ oldstar=("${(@)argv}")
#### detect early: useful for --optiion-parsing
zparseopts -M -D -Adiscardme ${every_opts}
if [[ -n ${(k)discardme[--option-parsing]} ]]; then
@@ -2450,7 +2450,7 @@ main() {
_warning "There's no such command \"::1 subcommand::\"." $subcommand
exitv=127 _failure "Please try -h for help."
fi
- argv=(${oldstar})
+ argv=("${(@)oldstar}")
unset oldstar
### Parsing global + command-specific options
@@ -2665,7 +2665,7 @@ EOF
# {{{ Run
-main $@ || exit $? # Prevent `tomb source tomb` from exiting
+main "$@" || exit $? # Prevent `tomb source tomb` from exiting
# }}}