Not even when started with --posix, or with the env var POSIXLY_CORRECT. perhaps bash needs a --really-really-posix flag... 8-/
2014-02-25 8:44 GMT+01:00 Dennis Davis <dennisdavis+openbsd-m...@fastmail.fm >: > On Tue, 25 Feb 2014, Ingo Schwarze wrote: > > > From: Ingo Schwarze <schwa...@usta.de> > > To: Fabian Raetz <fabian.ra...@gmail.com> > > Cc: misc@openbsd.org > > Date: Tue, 25 Feb 2014 01:00:49 > > Subject: Re: ksh: expr 2147483648 / 2 = -1073741824 expected behavior > or bug? > > ... > > > > so i tried > > > expr 2147483647 / 2 which returns 1073741824 while > > > expr 2147483648 / 2 returns -1073741824 > > > > > > ksh(1) states that expr does Integer arithmetic. > > > So is this the expected behaviour or a bug? > > > > How strange, six replies but nobody answered your question... > > > > The above behaviour is required by POSIX: > > ... > > Possibly worth muddying the waters slightly by noting the bash > shell on my old i386 box gets the sum right: > > > poulidor $ cat /tmp/t.sh > #!/usr/local/bin/bash > > echo $((2147483647/2)) > echo $((2147483648/2)) > poulidor $ /tmp/t.sh > 1073741823 > 1073741824 > poulidor $ /usr/local/bin/bash --version > GNU bash, version 4.2.42(1)-release (i386-unknown-openbsd5.3) > Copyright (C) 2011 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later < > http://gnu.org/licenses/gpl.html> > > This is free software; you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > > Seems like bash is not adhering to the POSIX standard :-) > -- > Dennis Davis <dennisda...@fastmail.fm> > > -- May the most significant bit of your life be positive.