From c6fe2df0d7652afa79bf663435d57c6015796efe Mon Sep 17 00:00:00 2001 From: Altareos Date: Sat, 21 Jun 2025 14:43:19 +0200 Subject: [PATCH] filter fields in functions --- mksrcinfo.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mksrcinfo.sh b/mksrcinfo.sh index 3718884..a467ad1 100755 --- a/mksrcinfo.sh +++ b/mksrcinfo.sh @@ -40,17 +40,18 @@ print_array_field() { } # load section content from its package function +for field in "${section_fields[@]}"; do + _load_section_content_fields_pattern="$field|$_load_section_content_fields_pattern" +done load_section_content() { if [[ -n $1 ]]; then suffix="_$1" - else - suffix="" fi if [[ ! "$(type -t "package$suffix")" = function ]]; then return; fi # eval only variable assignments in package function while read -r line; do eval "$line" - done < <(declare -f "package$suffix" | grep -E '^[[:space:]]*(declare +)?[[:alnum:]_]*=') + done < <(declare -f "package$suffix" | grep -E "^[[:space:]]*(declare +)?($_load_section_content_fields_pattern)=" | sed 's/^[[:space:]]*(declare +)?//') } # print fields for a section