From owner-freebsd-stable Sat Sep 23 21:52:52 2000 Delivered-To: freebsd-stable@freebsd.org Received: from penfold.transactionsite.com (penfold.transactionsite.com [203.14.245.1]) by hub.freebsd.org (Postfix) with SMTP id B04B437B449 for ; Sat, 23 Sep 2000 21:52:35 -0700 (PDT) Received: (qmail 29546 invoked from network); 24 Sep 2000 04:52:25 -0000 Received: from haym.transactionsite.com (HELO haym) (192.168.1.9) by penfold.transactionsite.com with SMTP; 24 Sep 2000 04:52:25 -0000 Message-ID: <002101c025e2$92868560$0901a8c0@haym.transactionsite.com> From: "Jan Mikkelsen" To: "BSD" Cc: Subject: Re: Constant panics on 4.1-STABLE! Date: Sun, 24 Sep 2000 15:47:40 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3612.1700 X-MIMEOLE: Produced By Microsoft MimeOLE V4.72.3612.1700 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG BSD wrote: >On Wed, 20 Sep 2000, Michael Allman wrote: >> 132 /* >> 133 * Look up the address in the table for that Address Family >> 134 */ >> 135 if (rnh && (rn = rnh->rnh_matchaddr((caddr_t)dst, rnh)) && >> 136 ((rn->rn_flags & RNF_ROOT) == 0)) { > > C doesn't guarantee order of execution in if ( bleh && bleh && >bleh). It may very well evaluate it backwards, or from the inside out if >it wants. No? No. The fact that the expression is used in an if statement doesn't change the order in which the expression is evalutated. The && operator groups left to right, and the second operand is not evalutated if the first is false. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message