diff options
author | Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de> | 2023-02-19 07:19:26 +0100 |
---|---|---|
committer | Lucía Andrea Illanes Albornoz <lucia@luciaillanes.de> | 2023-02-19 07:19:26 +0100 |
commit | f6f7f2f65712e6fa114f5751a72ad26cd893e92f (patch) | |
tree | 28c2a2fed19f853670059a2d1d243dda6c7e8273 /subr.ex | |
parent | 703de4a1f2032064f1505eb50f1aac63f3c3cfab (diff) | |
download | midipix_build-f6f7f2f65712e6fa114f5751a72ad26cd893e92f.tar.bz2 midipix_build-f6f7f2f65712e6fa114f5751a72ad26cd893e92f.tar.xz |
Reject empty variables from the command line.
Diffstat (limited to 'subr.ex')
-rw-r--r-- | subr.ex/ex_pkg.subr | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/subr.ex/ex_pkg.subr b/subr.ex/ex_pkg.subr index 6a5670be..f88836a9 100644 --- a/subr.ex/ex_pkg.subr +++ b/subr.ex/ex_pkg.subr @@ -100,22 +100,27 @@ ex_pkg_get_packages() { # # ex_pkg_load_vars() - load build variables -# @_rstatus: out reference to status string +# @_rstatus: out reference to status string +# @_rbuild_arch: in reference to build architecture +# @_rbuild_kind: in reference to build kind +# @_rprefix: in reference to absolute pathname to top-level prefix # # Return: zero (0) on success, non-zero (>0) on failure, build variables post-return on success. # ex_pkg_load_vars() { - local _eplv_rstatus="${1#\$}" \ - _eplv_rc=0 _eplv_fname=""; + local _eplv_rstatus="${1#\$}" _eplv_rbuild_arch="${2#\$}" \ + _eplv_rbuild_kind="${3#\$}" _eplv_rprefix="${4#\$}" \ + _eplv_build_arch="" _eplv_rc=0 _eplv_fname=""; - if ! rtl_lmatch \$ARCH "nt32 nt64"; then + if ! rtl_lmatch "${_eplv_rbuild_arch}" "nt32 nt64"; then _eplv_rc=1; - rtl_setrstatus "${_eplv_rstatus}" 'Error: invalid architecture \`'"${ARCH}"''\''.'; - elif ! rtl_lmatch \$BUILD_KIND "debug release"; then + rtl_setrstatus "${_eplv_rstatus}" 'invalid architecture \`${'"${_eplv_rbuild_arch}"'}'\''.'; + elif ! rtl_lmatch "${_eplv_rbuild_kind}" "debug release"; then _eplv_rc=1; - rtl_setrstatus "${_eplv_rstatus}" 'Error: unknown build type \`'"${BUILD_KIND}"''\''.'; + rtl_setrstatus "${_eplv_rstatus}" 'unknown build type \`${'"${_eplv_rbuild_kind}"'}'\''.'; else - case "${ARCH}" in + eval _eplv_build_arch="\${${_eplv_rbuild_arch}}"; + case "${_eplv_build_arch}" in nt32) DEFAULT_TARGET="i686-nt32-midipix"; ;; nt64) DEFAULT_TARGET="x86_64-nt64-midipix"; ;; esac; @@ -131,9 +136,9 @@ ex_pkg_load_vars() { fi; done; - if [ "${PREFIX:+1}" != 1 ]; then + if eval [ \"\${${_eplv_rprefix}:+1}\" != 1 ]; then _eplv_rc=1; - rtl_setrstatus "${_eplv_rstatus}" 'Error: ${PREFIX} empty or unset.'; + rtl_setrstatus "${_eplv_rstatus}" '\${PREFIX} empty or unset.'; fi; fi; |