diff options
author | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-12-30 19:04:08 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-12-30 19:04:08 +0000 |
commit | 612534022b81a70ef4248e84a5e36ef34da990f0 (patch) | |
tree | a8bf51dc9fa0a7623b2edf9ce2157a5576de16cb /subr/rtl_list.subr | |
parent | f4b29eabbab105a87848295d640ed6e4f61e7e3d (diff) | |
download | midipix_build-612534022b81a70ef4248e84a5e36ef34da990f0.tar.bz2 midipix_build-612534022b81a70ef4248e84a5e36ef34da990f0.tar.xz |
subr/rtl*.subr, subr.rtl/: moved.
subr/build_init.subr:buildp_init_env(): updated.
subr/pkgtool_init.subr:pkgtoolp_init_env(): updated.
Diffstat (limited to 'subr/rtl_list.subr')
-rw-r--r-- | subr/rtl_list.subr | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/subr/rtl_list.subr b/subr/rtl_list.subr deleted file mode 100644 index 369d3b46..00000000 --- a/subr/rtl_list.subr +++ /dev/null @@ -1,120 +0,0 @@ -# -# set +o errexit -o noglob -o nounset is assumed. -# - -rtl_lassign() { - local _vnames="${1}" _sep="${2}" _vname="" _vval=""\ - IFS RTL_LFIRST_HEAD="" RTL_LFIRST_TAIL=""; - IFS="${_sep}"; shift 2; - for _vval in ${@}; do - if ! rtl_lfirst "${_vnames}" " "; then - return 1; - else - _vname="${RTL_LFIRST_HEAD}"; _vnames="${RTL_LFIRST_TAIL}"; - rtl_set_var_unsafe "${_vname}" "${_vval}"; - fi; - done; -}; - -rtl_lconcat() { - local _list="${1}" _litem_new="${2}" _sep="${3:- }" IFS="${3:-${IFS:- }}"; - if [ -n "${_list}" ]; then - printf "%s%s%s" "${_list}" "${_sep}" "${_litem_new}"; - else - printf "%s" "${_litem_new}"; - fi; -}; - -rtl_lfilter() { - local _list="${1}" _filter="${2}" _sep="${3:- }" IFS="${3:-${IFS:- }}"\ - _filterfl="" _litem="" _litem_filter="" _lnew=""; - if [ -z "${_filter}" ]; then - printf "%s" "${_list}"; return 0; - else for _litem in ${_list}; do - _filterfl=0; - for _litem_filter in ${_filter}; do - if [ "${_litem_filter}" = "${_litem}" ]; then - _filterfl=1; break; - fi; - done; - if [ "${_filterfl:-0}" -eq 0 ]; then - _lnew="${_lnew:+${_lnew}${_sep}}${_litem}"; - fi; - done; fi; - printf "%s" "${_lnew}"; -}; - -rtl_lfirst() { - local _list="${1}" _sep="${2}" IFS; IFS="${_sep}"; - set -- ${_list}; RTL_LFIRST_HEAD="${1}"; - if [ "${#}" -ge 0 ]; then - shift; RTL_LFIRST_TAIL="${*}"; - else - RTL_LFIRST_TAIL=""; - fi; -}; - -rtl_llength() { - local _list="${1}" _sep="${2:- }" IFS="${2:-${IFS:- }}" _litem="" _llength=0; - for _litem in ${_list}; do - : $((_llength+=1)); - done; - printf "%s" "${_llength}"; -}; - -rtl_llift() { - local _list="${1}" _sep="${2}" _sep_new="${3}" IFS; IFS="${_sep}"; - set -- ${_list}; IFS="${_sep_new}"; - printf "%s" "${*}"; -}; - -rtl_lmatch() { - local _list="${1}" _item="${2}" _sep="${3:- }"; - [ -n "$(rtl_lsearch "${_list}" "${_item}" "${_sep}")" ]; -}; - -rtl_lmax() { - local _len=0 _len_max=0; - while [ "${#}" -gt 0 ]; do - _len="${#1}"; - if [ "${_len}" -gt "${_len_max}" ]; then - _len_max="${_len}"; - fi; shift; - done; printf "%s" "${_len_max}"; -}; - -rtl_lsearch() { - local _list="${1}" _filter="${2}" _sep="${3:- }" IFS="${3:-${IFS:- }}"\ - _litem="" _litem_filter="" _lnew=""; - if [ -z "${_filter}" ]; then - printf "%s" "${_list}"; return 0; - else for _litem in ${_list}; do - for _litem_filter in ${_filter}; do - if [ "${_litem_filter}" = "${_litem}" ]; then - _lnew="${_lnew:+${_lnew}${_sep}}${_litem}"; - break; - fi; - done; - done; fi; - printf "%s" "${_lnew}"; -}; - -rtl_lsort() { - local _list="${1}" _sep="${2:- }"; - printf "%s" "${_list}" | tr "${_sep}" "\n" | sort | paste -s -d "${_sep}"; -}; - -rtl_lunfold_depends() { - local _vname_template="${1}" _depends="" _name="" _names=""; shift; - for _name in "${@}"; do - if _depends="$(rtl_get_var_unsafe -u "$(eval printf \"%s\" \""${_vname_template}"\")")"\ - && [ -n "${_depends}" ]; then - _depends="$(rtl_lunfold_depends "${_vname_template}" ${_depends})"; - _names="$(rtl_lconcat "${_names}" "${_depends}")"; - fi; - _names="$(rtl_lconcat "${_names}" "${_name}")"; - done; - printf "%s" "${_names}"; -}; - -# vim:filetype=sh |