summaryrefslogtreecommitdiffstats
path: root/bin/sh/arith.y
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2009-12-30 15:59:40 +0000
committerjilles <jilles@FreeBSD.org>2009-12-30 15:59:40 +0000
commit5633dfdd793156d4840d74159870011c9976760c (patch)
treef5054dd6c532d790c525d529066238c628112fa2 /bin/sh/arith.y
parent99c441f44f73a5a229fa7e84121b3612a01be887 (diff)
downloadFreeBSD-src-5633dfdd793156d4840d74159870011c9976760c.zip
FreeBSD-src-5633dfdd793156d4840d74159870011c9976760c.tar.gz
sh: arith: Return only 0 and 1 from && and ||.
This agrees with C, POSIX and other shells.
Diffstat (limited to 'bin/sh/arith.y')
-rw-r--r--bin/sh/arith.y4
1 files changed, 2 insertions, 2 deletions
diff --git a/bin/sh/arith.y b/bin/sh/arith.y
index fd3d219..5db1633 100644
--- a/bin/sh/arith.y
+++ b/bin/sh/arith.y
@@ -85,9 +85,9 @@ expr:
ARITH_LPAREN expr ARITH_RPAREN
{ $$ = $2; } |
expr ARITH_OR expr
- { $$ = $1 ? $1 : $3 ? $3 : 0; } |
+ { $$ = $1 || $3; } |
expr ARITH_AND expr
- { $$ = $1 ? ( $3 ? $3 : 0 ) : 0; } |
+ { $$ = $1 && $3; } |
expr ARITH_BOR expr
{ $$ = $1 | $3; } |
expr ARITH_BXOR expr
OpenPOWER on IntegriCloud