summaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2009-09-23 10:10:51 +0100
committerPádraig Brady <P@draigBrady.com>2009-09-23 14:33:40 +0100
commita037e838e15c9a698f1634398e0fe2726398d575 (patch)
tree7361ac5f2c3dbd8fc4763e6fa960e6646670dc79 /src/expr.c
parentade8dd2096e1898edefadf2314d4e1ec654adda5 (diff)
downloadcoreutils-a037e838e15c9a698f1634398e0fe2726398d575.tar.xz
maint: Use logical rather than bitwise operators on bools
This is because bitwise operators are: - confusing and inconsistent in a boolean context - non short circuiting - brittle in C89 where bool can be an int (so > 1)
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c
index 6e72a44d0..851f72892 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -925,7 +925,7 @@ eval1 (bool evaluate)
{
if (nextarg ("&"))
{
- r = eval2 (evaluate & ~ null (l));
+ r = eval2 (evaluate && !null (l));
if (null (l) || null (r))
{
freev (l);
@@ -956,7 +956,7 @@ eval (bool evaluate)
{
if (nextarg ("|"))
{
- r = eval1 (evaluate & null (l));
+ r = eval1 (evaluate && null (l));
if (null (l))
{
freev (l);