summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/find/operator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.bin/find/operator.c b/usr.bin/find/operator.c
index 0fd6a57a1f0..6fa4372bc69 100644
--- a/usr.bin/find/operator.c
+++ b/usr.bin/find/operator.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: operator.c,v 1.3 1998/08/11 02:53:04 deraadt Exp $ */
+/* $OpenBSD: operator.c,v 1.4 1999/01/04 21:36:01 millert Exp $ */
/*-
* Copyright (c) 1990, 1993
@@ -38,7 +38,7 @@
#ifndef lint
/*static char sccsid[] = "from: @(#)operator.c 8.1 (Berkeley) 6/6/93";*/
-static char rcsid[] = "$OpenBSD: operator.c,v 1.3 1998/08/11 02:53:04 deraadt Exp $";
+static char rcsid[] = "$OpenBSD: operator.c,v 1.4 1999/01/04 21:36:01 millert Exp $";
#endif /* not lint */
#include <sys/types.h>
@@ -201,6 +201,8 @@ not_squish(plan)
errx(1, "!: no following expression");
if (node->type == N_OR)
errx(1, "!: nothing between ! and -o");
+ if (node->type == N_EXPR)
+ node = not_squish(node);
if (notlevel % 2 != 1)
next = node;
else