From 17f4b6f8018c3724aab80d0c7dcae46286763d93 Mon Sep 17 00:00:00 2001 From: Valentin Lab Date: Sat, 10 Mar 2018 22:06:30 +0800 Subject: [PATCH] chg: dev: factored array functions out !cosmetic --- bin/compose | 59 +---------------------------------------------------- 1 file changed, 1 insertion(+), 58 deletions(-) diff --git a/bin/compose b/bin/compose index 7897fcf..2865349 100755 --- a/bin/compose +++ b/bin/compose @@ -34,6 +34,7 @@ include pretty include parse include charm +include array depends shyaml docker @@ -637,64 +638,6 @@ EOF export -f docker_add_host_declaration -## -## Arrays -## - -array_values_to_stdin() { - local e - if [ "$#" -ne "1" ]; then - print_syntax_warning "$FUNCNAME: need one argument." - return 1 - fi - var="$1" - eval "for e in \"\${$var[@]}\"; do echo -en \"\$e\\0\"; done" -} - -array_keys_to_stdin() { - local e - if [ "$#" -ne "1" ]; then - print_syntax_warning "$FUNCNAME: need one argument." - return 1 - fi - var="$1" - eval "for e in \"\${!$var[@]}\"; do echo -en \"\$e\\0\"; done" -} - -array_kv_to_stdin() { - local e - if [ "$#" -ne "1" ]; then - print_syntax_warning "$FUNCNAME: need one argument." - return 1 - fi - var="$1" - eval "for e in \"\${!$var[@]}\"; do echo -n \"\$e\"; echo -en '\0'; echo -n \"\${$var[\$e]}\"; echo -en '\0'; done" -} - - -array_pop() { - local narr="$1" nres="$2" - for key in $(eval "echo \${!$narr[@]}"); do - eval "$nres=\${$narr[\"\$key\"]}" - eval "unset $narr[\"\$key\"]" - return 0 - done -} -export -f array_pop - -array_member() { - local src="$1" elt="$2" - while read-0 key; do - if [ "$(eval "echo -n \"\${$src[\$key]}\"")" == "$elt" ]; then - return 0 - fi - done < <(array_keys_to_stdin "$src") - return 1 -} -export -f array_member - - - ## ## Internal Process