diff options
author | Dave Reisner <dreisner@archlinux.org> | 2016-07-12 04:05:45 +0200 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2016-07-12 14:00:49 +0200 |
commit | f5129add0eb16c9511c9cb80433fb4568f1e2703 (patch) | |
tree | 355faf43432d46cdb7aa829e1300987cf47e3798 /lsinitcpio | |
parent | b9308a5296fc0dc8da78cd6f02a5af9c38f0a044 (diff) | |
download | mkinitcpio-f5129add0eb16c9511c9cb80433fb4568f1e2703.tar.gz mkinitcpio-f5129add0eb16c9511c9cb80433fb4568f1e2703.tar.xz |
use an associative array to build bsdcpio options
This prevents having unquoted expansion in the bsdcpio commandline
Diffstat (limited to 'lsinitcpio')
-rwxr-xr-x | lsinitcpio | 37 |
1 files changed, 26 insertions, 11 deletions
@@ -6,9 +6,15 @@ shopt -s extglob _list='--list' -_optcolor=1 _optverbose= +_optcolor=1 _f_functions=functions +declare -A bsdcpio_options=( + [list]='--list' + [input]='-i' + [quiet]='--quiet' +) + usage() { cat<<USAGE lsinitcpio %VERSION% @@ -237,26 +243,35 @@ unset _opt_short _opt_long OPTRET while :; do case $1 in -a|--analyze) - _optanalyze=1 ;; + _optanalyze=1 + ;; -c|--config) - _optshowconfig=1 ;; + _optshowconfig=1 + ;; -h|--help) usage - exit 0 ;; + exit 0 + ;; -l|--list) - _optlistcontents=1 ;; + _optlistcontents=1 + ;; -n|--nocolor) - _optcolor=0 ;; + _optcolor=0 + ;; -V|--version) version - exit 0 ;; + exit 0 + ;; -v|--verbose) - _optverbose='--verbose' ;; + bsdcpio_options['verbose']='--verbose' + ;; -x|--extract) - unset _list ;; + unset 'bsdcpio_options[list]' + ;; --) shift - break 2 ;; + break 2 + ;; esac shift done @@ -287,7 +302,7 @@ elif (( _optshowconfig )); then decomp "$_image" | bsdtar xOf - buildconfig 2>/dev/null || die 'Failed to extract config from image (mkinitcpio too old?)' else - decomp "$_image" | bsdcpio -i --quiet $_optverbose $_list + decomp "$_image" | bsdcpio "${bsdcpio_options[@]}" fi # vim: set ft=sh ts=4 sw=4 et: |