diff options
Diffstat (limited to 'kiss')
-rwxr-xr-x | kiss | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -120,13 +120,11 @@ pkg_find() { # Figure out which repository a package belongs to by # searching for directories matching the package name # in $KISS_PATH/*. - query=$1 match=$2 + query=$1 match=$2 IFS=:; set -- # Word splitting is intentional here. # shellcheck disable=2086 - IFS=: set -- $KISS_PATH "$sys_db"; searchpath="$*" ; set -- - - for path in $searchpath; do + for path in $KISS_PATH "$sys_db" ; do set +f for path2 in "$path/"$query; do @@ -134,6 +132,8 @@ pkg_find() { done done + IFS=$old_ifs + # A package may also not be found due to a repository not being # readable by the current user. Either way, we need to die here. [ "$1" ] || die "Package '$query' not in any repository" @@ -1072,8 +1072,8 @@ pkg_fetch() { # Create a list of all repositories. # See [1] at top of script. - # shellcheck disable=2086 - { IFS=: set -- $KISS_PATH; } + # shellcheck disable=2046,2086 + { IFS=:; set -- $KISS_PATH; IFS=$old_ifs; } # Update each repository in '$KISS_PATH'. It is assumed that # each repository is 'git' tracked. @@ -1389,6 +1389,10 @@ main() { # that it doesn't change beneath us. pid=${KISS_PID:-$$} + # Store the original value of IFS so we can revert back to it if the + # variable is ever changed. + old_ifs=$IFS + # Force the C locale to speed up things like 'grep' which disable unicode # etc when this is set. We don't need unicode and a speed up is always # welcome. |