From 326bb5560b20c1c88713aa081cc5f763f9ff141a Mon Sep 17 00:00:00 2001 From: Ben Peddell Date: Sat, 27 Feb 2016 23:35:03 +1000 Subject: [PATCH] Process ark options in config file order --- tools/arkmanager | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tools/arkmanager b/tools/arkmanager index 37ecdae..feb9ecb 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -602,6 +602,42 @@ doRun() { arkextraopts=( ) + while read varname; do + val="${!varname}" + case "$varname" in + ark_*) + name="${varname#ark_}" + + # Port is actually one higher than specified + # i.e. specifying port 7777 will have the server + # use port 7778 + if [ "$name" == "Port" ]; then + (( val = val - 1 )) + fi + + if [ -n "$val" ]; then + arkserveropts="${arkserveropts}?${name}=${val}" + else + arkserveropts="${arkserveropts}?${name}" + fi + ;; + arkopt_*) + name="${varname#arkopt_}" + val="${!varname}" + + if [ -n "$val" ]; then + arkextraopts=( "${arkextraopts[@]}" "-${name}=${val}" ) + fi + ;; + arkflag_*) + name="${varname#arkflag_}" + + arkextraopts=( "${arkextraopts[@]}" "-${name}" ) + ;; + esac + unset $varname + done < <(sed -n 's/^\(ark\(\|opt\|flag\)_[^= ]*\)=.*/\1/p' <"$configfile") + # bring in ark_... options for varname in "${!ark_@}"; do name="${varname#ark_}"