--- /usr/bin/euse 2011-04-03 20:50:50.000000000 -0500 +++ euse-315037 2011-04-03 21:36:37.000000000 -0500 @@ -432,6 +432,7 @@ # Function: traverse_profile {{{ # General method of collecting the contents of a profile # component by traversing through the cascading profile +# Bug 315037: Handle special characters in profile path(s) # # Arguments: # $1 - Filename (make.profile) @@ -441,18 +442,18 @@ local parent local rvalue="" - curdir="${2:-$(get_real_path ${MAKE_PROFILE_PATH})}" + curdir="${2:-$(get_real_path "${MAKE_PROFILE_PATH}")}" [[ -f "${curdir}/${1}" ]] && rvalue="${curdir}/${1} ${rvalue}" if [[ -f "${curdir}/parent" ]]; then - for parent in $(egrep -v '(^#|^ *$)' ${curdir}/parent); do + for parent in $(egrep -v '(^#|^ *$)' "${curdir}"/parent); do # Bug 231394, handle parent path being absolute if [[ ${parent:0:1} == "/" ]]; then - pdir="$(get_real_path ${parent})" + pdir="$(get_real_path "${parent}")" else - pdir="$(get_real_path ${curdir}/${parent})" + pdir="$(get_real_path "${curdir}/${parent}")" fi - rvalue="$(traverse_profile ${1} ${pdir}) ${rvalue}" + rvalue="$(traverse_profile "${1}" "${pdir}") ${rvalue}" done fi