On 11/28/2010 08:29 PM, Bruno Haible wrote: > But /bin/sh of Solaris 11 Express 2010-11 has a bug here: When the last > argument to be passed is an empty string, it is omitted.
Thanks for tracking this down, and for reporting the bug upstream. Here's hoping that it gets fixed upstream before Solaris 11 hits mainstream, because it would be a rather large number of scripts that would have to be updated to avoid the bug. > Possible workarounds are: > - Use /bin/bash instead of /bin/sh. > - Test the number of arguments explicitly against 0, like this: > case $# in > 0) exec prog;; > *) exec prog "$@";; > esac The autoconf manual already mentions this as a workaround for older zsh where ${1+"$@"} didn't work correctly, although those versions of zsh also supported a workaround via a 'global alias'; unfortunately, Solaris 11 is unlikely to have the 'global alias' feature of zsh to make it easier to avoid the problem with a single up-front setting. At least modern zsh no longer suffers from bugs in this area. > I've reported this as a bug in Solaris 11 Express. Since that release > is declared as not to be used for production or business use, I think > there's no need to modify the Autoconf manual or Libtool at this point; > just wait for the next Solaris 11 release, next year. I agree with waiting for a mainstream release. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature