commit 6e0fe5f491eb5772e46f60486e601e3133bde54d
parent 3f455b5f40f7741e30e0e6ade74437b1daa22e63
Author: Cem Keylan <cem@ckyln.com>
Date: Mon, 20 Apr 2020 17:05:39 +0300
Revert "kiss: don't use old_ifs"
This reverts commit 3f455b5f40f7741e30e0e6ade74437b1daa22e63.
Diffstat:
M | kiss | | | 16 | ++++++++++------ |
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/kiss b/kiss
@@ -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.