From f63faaa68f8d60ca302b7a970873897ee4a5db2c Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Fri, 25 Mar 2022 17:00:53 +0100 Subject: [PATCH] revert(10i18n): stop leaking shell options This reverts commit 35064768ebf14d3ec6bf3f7df52580fb4920ea3d, to replace the implementation. --- modules.d/10i18n/module-setup.sh | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh index 91c189e82..f25026fb8 100755 --- a/modules.d/10i18n/module-setup.sh +++ b/modules.d/10i18n/module-setup.sh @@ -30,7 +30,11 @@ install() { I18N_CONF="/etc/locale.conf" VCONFIG_CONF="/etc/vconsole.conf" - _findkeymap() { + findkeymap() { + # shellcheck disable=SC2064 + trap "$(shopt -p nullglob globstar)" RETURN + shopt -q -s nullglob globstar + local -a MAPS local MAPNAME local INCLUDES @@ -62,21 +66,12 @@ install() { for INCL in "${INCLUDES[@]}"; do for FN in "$dracutsysrootdir""${kbddir}"/keymaps/**/"$INCL"*; do [[ -f $FN ]] || continue - [[ -v KEYMAPS["$FN"] ]] || _findkeymap "$FN" + [[ -v KEYMAPS["$FN"] ]] || findkeymap "$FN" done done done } - # Wrapper around the recursive _findkeymap making sure the shell - # options are restored correctly - findkeymap() { - # shellcheck disable=SC2064 - trap "$(shopt -p nullglob globstar)" RETURN - shopt -q -s nullglob globstar - _findkeymap "$@" - } - # Function gathers variables from distributed files among the tree, maps to # specified names and prints the result in format "new-name=value". # -- 2.47.3