From e30820261a2430bc1047f1be4d384fdeac472ad4 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Fri, 12 Jul 2024 23:04:43 +0400 Subject: [PATCH] =?UTF-8?q?dkbuild:=20am=C3=A9liorer=20from=5Fglob()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dkbuild | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/dkbuild b/dkbuild index d569a7c..72ccfb9 100755 --- a/dkbuild +++ b/dkbuild @@ -1188,12 +1188,14 @@ function load_environ() { } function from_glob() { - local var=value value - [[ "$1" != *=* ]] && { var="$1"; shift; } + local vvalue=value value vfile=file file + [[ "$1" != *=* ]] && { vvalue="$1"; shift; } + [[ "$1" != *=* ]] && { vfile="$1"; shift; } - local path extract add_prefix add_suffix + local basedir path extract add_prefix add_suffix while [ $# -gt 0 ]; do case "$1" in + basedir=*) basedir="${1#basedir=}";; path=*) path="${1#path=}";; extract=*) extract="${1#extract=}";; add-prefix=*) add_prefix="${1#add-prefix=}";; @@ -1203,7 +1205,9 @@ function from_glob() { esac shift done - value="$(list_all . "$path" | sort -rn | head -1)" + [ -n "$basedir" ] || basedir=. + value="$(list_all "$basedir" "$path" | sort -rn | head -1)" + file="$basedir/$value" [ -n "$extract" ] || extract="${path//\*/(.*)}" if [ -n "$extract" ]; then extract="${extract//\//\\/}" @@ -1213,7 +1217,7 @@ function from_glob() { }")$add_suffix" fi - local "$var"; upvar "$var" "$value" + local "$vvalue" "$vfile"; upvars "$vvalue" "$value" "$vfile" "$file" } function define_functions_env() { function setversion() {