From 5633dfdd793156d4840d74159870011c9976760c Mon Sep 17 00:00:00 2001 From: jilles Date: Wed, 30 Dec 2009 15:59:40 +0000 Subject: sh: arith: Return only 0 and 1 from && and ||. This agrees with C, POSIX and other shells. --- bin/sh/arith.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin/sh') 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 -- cgit v1.1