Fix a long-standing blatant bug where the operator precedence between

& and && has been botched.  This was likely the cause for some havoc
with various negotiation cases of sppp in the past.

Obtained from:	NetBSD (rev 1.13)
MFC after:	1 week
This commit is contained in:
Joerg Wunsch 2001-12-30 17:12:28 +00:00
parent d0543e885a
commit dd966920a7

View File

@ -2610,7 +2610,7 @@ sppp_lcp_tlu(struct sppp *sp)
/* Send Up events to all started protos. */ /* Send Up events to all started protos. */
for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1) for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1)
if (sp->lcp.protos & mask && ((cps[i])->flags & CP_LCP) == 0) if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_LCP) == 0)
(cps[i])->Up(sp); (cps[i])->Up(sp);
/* notify low-level driver of state change */ /* notify low-level driver of state change */
@ -2642,7 +2642,7 @@ sppp_lcp_tld(struct sppp *sp)
* describes it. * describes it.
*/ */
for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1) for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1)
if (sp->lcp.protos & mask && ((cps[i])->flags & CP_LCP) == 0) { if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_LCP) == 0) {
(cps[i])->Down(sp); (cps[i])->Down(sp);
(cps[i])->Close(sp); (cps[i])->Close(sp);
} }
@ -2735,7 +2735,7 @@ sppp_ncp_check(struct sppp *sp)
int i, mask; int i, mask;
for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1) for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1)
if (sp->lcp.protos & mask && (cps[i])->flags & CP_NCP) if ((sp->lcp.protos & mask) && (cps[i])->flags & CP_NCP)
return 1; return 1;
return 0; return 0;
} }
@ -5123,7 +5123,7 @@ sppp_phase_network(struct sppp *sp)
/* Send Up events to all NCPs. */ /* Send Up events to all NCPs. */
for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1) for (i = 0, mask = 1; i < IDX_COUNT; i++, mask <<= 1)
if (sp->lcp.protos & mask && ((cps[i])->flags & CP_NCP)) if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_NCP))
(cps[i])->Up(sp); (cps[i])->Up(sp);
/* if no NCP is starting, all this was in vain, close down */ /* if no NCP is starting, all this was in vain, close down */