modulecmd: return overlay root as prefix if not set

This commit is contained in:
2021-12-10 14:09:44 +01:00
parent 7b2d0fcd58
commit e86b2fc7cb
+11 -1
View File
@@ -1306,9 +1306,15 @@ get_overlay_info(){
for config_file in "${config_files[@]}"; do
[[ -r "${config_file}" ]] || continue
local toks=()
local -i lino=0
while read -a toks; do
(( lino++ ))
[[ -n "${toks[0]}" ]] || continue
[[ ${toks[0]} == \#* ]] && continue
(( ${#toks[@]} < 2 )) && \
std::warn "%s - %s" \
"Skipping malformed line ${lino} in configuration file" \
"${config_file}"
local _name="${toks[0]%:*}"
if [[ "${toks[0]%:*}" == "${name_or_dir}" ]] \
|| [[ "${toks[1]}" == "${name_or_dir}" ]]; then
@@ -1324,7 +1330,11 @@ get_overlay_info(){
fi
[[ -n "$2" ]] && std::upvar "$2" "${_type}"
[[ -n "$3" ]] && std::upvar "$3" "${toks[1]}"
[[ -n "$4" ]] && std::upvar "$4" "${toks[2]}"
if [[ -n "$4" ]]; then
std::upvar "$4" "${toks[2]}"
else
std::upvar "$4" "${toks[1]}"
fi
return 0
fi
done < "${config_file}"