diff options
Diffstat (limited to 'include/vendor.sh')
-rw-r--r-- | include/vendor.sh | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/vendor.sh b/include/vendor.sh index a0806dd8..7fb4d9ea 100644 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -217,7 +217,7 @@ fetch() return 0 fi - x_ mkdir -p "${_dest%/*}" + x_ xbmkdir "${_dest%/*}" if [ "$dl_type" != "fsp" ]; then extract_archive "$_dl" "$appdir" || \ @@ -490,12 +490,17 @@ extract_fsp() setvfile() { - [ -n "$vcfg" ] && for c in $checkvarschk; do - vcmd="[ \"\${$c}\" = \"/dev/null\" ] || [ -z \"\${$c}\" ]" - eval "$vcmd || return 0" + [ -n "$vcfg" ] && for c in $checkvarschk + do + do_getvfile="n" + vcmd="[ \"\${$c}\" != \"/dev/null\" ] && [ -n \"\${$c}\" ]" - if getvfile "$@"; then - return 0 + eval "$vcmd && do_getvfile=\"y\"" + + if [ "$do_getvfile" = "y" ]; then + if getvfile "$@"; then + return 0 + fi fi done && return 1; : } |