On 08/10/16 22:11, Rikard Falkeborn wrote: > 2016-10-04 10:21 GMT+02:00 Christian Hesse <l...@eworm.de>: > >> From: Christian Hesse <m...@eworm.de> >> >> We checked for empty array elements, but did not catch empty array. Add >> a check for that case as well. >> >> Signed-off-by: Christian Hesse <m...@eworm.de> >> --- >> scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in >> b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in >> index a044082..2696afa 100644 >> --- a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in >> +++ b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in >> @@ -32,6 +32,11 @@ lint_pkgbuild_functions+=('lint_pkgname') >> lint_pkgname() { >> local ret=0 i >> >> + if [[ -z "${pkgname[0]}" ]]; then >> + error "$(gettext "%s is not allowed to be empty.")" >> "pkgname" >> + ret=1 >> + fi >> + >> for i in "${pkgname[@]}"; do >> if [[ -z $i ]]; then >> error "$(gettext "%s is not allowed to be >> empty.")" "pkgname" >> -- >> 2.10.0 >> > > If pkgname="", this will cause the error message to be printed twice (once > in the added if-statement and once in the loop). Should we just return > immediately instead of setting ret=1? >
Changed the test to: if (( ${#pkgname[@]} == 0 )) ; then then it catches and prints one message for: pkgname= pkgname='' pkgname=() pkgname=('') A