bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bash arithmetic doesn't give error message on wrap.


From: Andreas Schwab
Subject: Re: Bash arithmetic doesn't give error message on wrap.
Date: Mon, 30 Apr 2007 12:40:50 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.97 (gnu/linux)

Richard Neill <address@hidden> writes:

> Are you sure this isn't comparable? After all, in both cases, the user has
> submitted something to which bash cannot give a sensible answer. In the
> integer-overflow case, bash simply returns the wrong answer, with no
> warning.

The answer is not really wrong, it's the same you get from the equivalent
expression when evaluated in C.

> But in the octal case, bash (quite correctly, and helpfully)
> prints a warning.

It's not a warning, it's an error (and the whole command containing the
expansion is aborted).

> If bash were to be consistent, then it should display no error message in
> the case of $((3+078));

This is a syntax error, so there is no sensible meaning attached to it.  A
syntax error is something quite different than an undefined behaviour.

Andreas.

-- 
Andreas Schwab, SuSE Labs, address@hidden
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]