Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/lib/libpcap re-introduce netbsd fix 1.5 -> 1.6, which was mi...
details: https://anonhg.NetBSD.org/src/rev/54f6bc8d0c7a
branches: trunk
changeset: 499400:54f6bc8d0c7a
user: itojun <itojun%NetBSD.org@localhost>
date: Sun Nov 19 13:18:03 2000 +0000
description:
re-introduce netbsd fix 1.5 -> 1.6, which was mistakenly removed.
pointed by Gui Harris.
---
Fix a hairy optimizer bug that causes the expression:
'ip and ((icmp and dst host 1.1.1.1 and not host 2.2.2.2) or (host 1.1.1.1 and src host 3.3.3.3))'
to compile incorrectly. Details about to be mailed to LBL.
diffstat:
lib/libpcap/optimize.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diffs (44 lines):
diff -r 775a2cc74414 -r 54f6bc8d0c7a lib/libpcap/optimize.c
--- a/lib/libpcap/optimize.c Sun Nov 19 12:47:51 2000 +0000
+++ b/lib/libpcap/optimize.c Sun Nov 19 13:18:03 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: optimize.c,v 1.11 2000/10/10 19:12:49 is Exp $ */
+/* $NetBSD: optimize.c,v 1.12 2000/11/19 13:18:03 itojun Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1993, 1994, 1995, 1996
@@ -28,7 +28,7 @@
static const char rcsid[] =
"@(#) Header: optimize.c,v 1.60 96/09/26 23:28:14 leres Exp (LBL)";
#else
-__RCSID("$NetBSD: optimize.c,v 1.11 2000/10/10 19:12:49 is Exp $");
+__RCSID("$NetBSD: optimize.c,v 1.12 2000/11/19 13:18:03 itojun Exp $");
#endif
#endif
@@ -1488,6 +1488,8 @@
init_val();
maxlevel = root->level;
+
+ find_inedges(root);
for (i = maxlevel; i >= 0; --i)
for (p = levels[i]; p; p = p->link)
opt_blk(p, do_stmts);
@@ -1505,6 +1507,8 @@
opt_j(&p->ef);
}
}
+
+ find_inedges(root);
for (i = 1; i <= maxlevel; ++i) {
for (p = levels[i]; p; p = p->link) {
or_pullup(p);
@@ -1584,7 +1588,6 @@
find_levels(root);
find_dom(root);
find_closure(root);
- find_inedges(root);
find_ud(root);
find_edom(root);
opt_blks(root, do_stmts);
Home |
Main Index |
Thread Index |
Old Index