summaryrefslogtreecommitdiffstats
path: root/lib/control.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/control.sh')
-rw-r--r--lib/control.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/control.sh b/lib/control.sh
index 3bcedbc..58bf68b 100644
--- a/lib/control.sh
+++ b/lib/control.sh
@@ -214,7 +214,10 @@ ob_set_substvar()
case "${name}" in *[!A-Za-z0-9-]* | '')
return 125
esac
- name="$(echo "${name}" | tr 'a-z-' 'A-Z_')"
+ name="$(tr 'a-z-' 'A-Z_' <<-EOF
+ ${name}
+ EOF
+ )"
# Trim leading and trailing whitespace from value.
read -r value <<-EOF
@@ -289,7 +292,10 @@ ob_substvars()
esac
# Perform the substitution.
- name="$(echo "${name}" | tr 'a-z-' 'A-Z_')"
+ name="$(tr 'a-z-' 'A-Z_' <<-EOF
+ ${name}
+ EOF
+ )"
value="$(eval "printf '%s' \"\${_OB_SUBSTVAR_${name}}\"")"
string="${lhs}${value}${rhs}"
depth=$(($depth + 1))