diff options
author | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-03-15 09:14:23 +0000 |
---|---|---|
committer | Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de> | 2020-03-15 09:14:23 +0000 |
commit | b6a9a1a3c8b98077cce47d579069c42080d17da5 (patch) | |
tree | 56301493a28e098de840c21b6d7e2776dd5574a1 /subr/rtl_complex.subr | |
parent | 3e295f4e81f867fbd8b6c9c306bc1ca124e41d8b (diff) | |
download | midipix_build-b6a9a1a3c8b98077cce47d579069c42080d17da5.tar.bz2 midipix_build-b6a9a1a3c8b98077cce47d579069c42080d17da5.tar.xz |
General cleanup.
Diffstat (limited to 'subr/rtl_complex.subr')
-rw-r--r-- | subr/rtl_complex.subr | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/subr/rtl_complex.subr b/subr/rtl_complex.subr index 01e373ea..0e39178d 100644 --- a/subr/rtl_complex.subr +++ b/subr/rtl_complex.subr @@ -27,6 +27,13 @@ rtl_clean_env() { rtl_unset_vars $(rtl_lfilter "${_env_vars}" "${_env_vars_except}"); }; +rtl_dirname() { + local _dname="${1%/*}"; + while rtl_matchr "${_dname}" "*/"; do + _dname="${_dname%/}"; + done; printf "%s" "${_dname:-/}"; +}; + rtl_exists_any() { local _subdir="${1}"; shift; while [ "${#}" -gt 0 ]; do @@ -79,12 +86,13 @@ rtl_filter_vars() { esac; ;; esac; if "${_fn}" "${_vname}"; then - _vars="$(rtl_lconcat "${_vars}" "${_var_spec}" "\n")"; _fnfl=1; + _vars="${_vars:+${_vars} +}${_var_spec}"; _fnfl=1; else _fnfl=0; fi; done; - echo "${_vars}"; + printf "%s" "${_vars}"; }; rtl_get_cpu_count() { @@ -96,7 +104,7 @@ rtl_get_cpu_count() { if rtl_match "${_line}" "processor*:"; then : $((_ncpus+=1)); fi; - done < /proc/cpuinfo; echo "${_ncpus}"; + done < /proc/cpuinfo; printf "%s" "${_ncpus}"; fi; ;; *) _rc=1; _status="Error: unknown platform \`${_sname}'."; ;; esac; return "${_rc}"; @@ -112,6 +120,11 @@ rtl_get_var_unsafe() { eval echo \${${_vname}}; }; +rtl_get_vars_fast() { + local _pattern="${1}"; + set | awk -F= '/'"${_pattern}"'/{print $1}' | sort; +}; + rtl_head() { local _pattern="${1}" _s="${2}"; while true; do @@ -121,7 +134,7 @@ rtl_head() { _s="${_s%%${_pattern}}"; fi; done; - echo "${_s}"; + printf "%s" "${_s}"; }; rtl_is_newer() { |