summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_rtl_list.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/ex_rtl_list.subr')
-rw-r--r--subr/ex_rtl_list.subr13
1 files changed, 13 insertions, 0 deletions
diff --git a/subr/ex_rtl_list.subr b/subr/ex_rtl_list.subr
index 45a641c6..fb2bde72 100644
--- a/subr/ex_rtl_list.subr
+++ b/subr/ex_rtl_list.subr
@@ -59,4 +59,17 @@ ex_rtl_lsearch() {
echo "${_lnew}";
};
+ex_rtl_lunfold_depends() {
+ local _vname_template="${1}" _depends="" _name="" _names=""; shift;
+ for _name in "${@}"; do
+ if _depends="$(ex_rtl_get_var_unsafe -u "$(eval printf \"%s\" \""${_vname_template}"\")")"\
+ && [ -n "${_depends}" ]; then
+ _depends="$(ex_rtl_lunfold_depends "${_vname_template}" ${_depends})";
+ _names="$(ex_rtl_lconcat "${_names}" "${_depends}")";
+ fi;
+ _names="$(ex_rtl_lconcat "${_names}" "${_name}")";
+ done;
+ echo "${_names}";
+};
+
# vim:filetype=sh