debug_bash_helper: Use eval as busybox systems have problems
In _debug_bash_helper use eval as we are seeing issues with busybox systems having issues with array access. Even though they aren't actually running the code they appear to be parsing it and failing. Also older versions of busybox have a bug with eval and double quotes, so make sure to use single quotes when using eval. Resolves: #2579
This commit is contained in:
parent
ce0c6da9fa
commit
adce8f52e8
16
acme.sh
16
acme.sh
@ -268,31 +268,31 @@ _usage() {
|
||||
__debug_bash_helper() {
|
||||
# At this point only do for --debug 3
|
||||
if [ "${DEBUG:-$DEBUG_LEVEL_NONE}" -lt "$DEBUG_LEVEL_3" ]; then
|
||||
echo ""
|
||||
return
|
||||
fi
|
||||
# Return extra debug info when running with bash, otherwise return empty
|
||||
# string.
|
||||
if [ -z "${BASH_VERSION}" ]; then
|
||||
echo ""
|
||||
return
|
||||
fi
|
||||
# We are a bash shell at this point, return the filename, function name, and
|
||||
# line number as a string
|
||||
_dbh_saveIFS=$IFS
|
||||
IFS=" "
|
||||
# Must use eval or syntax error happens under dash
|
||||
# Must use eval or syntax error happens under dash. The eval should use
|
||||
# single quotes as older versions of busybox had a bug with double quotes and
|
||||
# eval.
|
||||
# Use 'caller 1' as we want one level up the stack as we should be called
|
||||
# by one of the _debug* functions
|
||||
eval "_dbh_called=($(caller 1))"
|
||||
eval '_dbh_called=($(caller 1))'
|
||||
IFS=$_dbh_saveIFS
|
||||
_dbh_file=${_dbh_called[2]}
|
||||
eval '_dbh_file=${_dbh_called[2]}'
|
||||
if [ -n "${_script_home}" ]; then
|
||||
# Trim off the _script_home directory name
|
||||
_dbh_file=${_dbh_file#$_script_home/}
|
||||
eval '_dbh_file=${_dbh_file#$_script_home/}'
|
||||
fi
|
||||
_dbh_function=${_dbh_called[1]}
|
||||
_dbh_lineno=${_dbh_called[0]}
|
||||
eval '_dbh_function=${_dbh_called[1]}'
|
||||
eval '_dbh_lineno=${_dbh_called[0]}'
|
||||
printf "%-40s " "$_dbh_file:${_dbh_function}:${_dbh_lineno}"
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user