[pacman-dev] bash-3 only error trap activation

Andres P aepd87 at gmail.com
Mon Jun 21 13:42:17 EDT 2010


On Mon, Jun 21, 2010 at 1:06 AM, Allan McRae <allan at archlinux.org> wrote:
>        pmout=$(run_pacman -T "$@")       <- HERE
>        ret=$?
>
>
> The first one gets set off anytime "depends" or "makedepends" are empty and
> can be fixed by using "|| return 0", but the second is doing my head in...
>  Of course, turning off the error trap around those commands makes it work,
> and that may be an OK approach given we are dealing with all error states
> below that.
>


Try:

ret=$?
pmout=$(run_pacman -T "$@") || ret=$?

Using || after the asigment will prevent setting the err trap.

Funny how you noticed the first, because I was about to submit a patch
that did not return false if there were no arguments.

In reality though, it should be this:
[[ $@ ]] || return 0

Because (( $# )) will not count emtpy arguments.

If check_deps is passed quoted arguments that expand to nothing, it
will malfunction.

Andres P


More information about the pacman-dev mailing list