From: Paul Mackerras Date: Thu, 4 Apr 1996 04:17:44 +0000 (+0000) Subject: don't always clear stats; mods to stop compiler complaining X-Git-Tag: RELEASE_2_3_6~480 X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=commitdiff_plain;h=b24b1caea979df10873f966d1df3586759b5a7a4 don't always clear stats; mods to stop compiler complaining --- diff --git a/netbsd-1.1/slcompress.c b/netbsd-1.1/slcompress.c index 2029a13..7a0e24e 100644 --- a/netbsd-1.1/slcompress.c +++ b/netbsd-1.1/slcompress.c @@ -1,4 +1,4 @@ -/* $Id: slcompress.c,v 1.1 1995/12/11 05:17:11 paulus Exp $ */ +/* $Id: slcompress.c,v 1.2 1996/04/04 04:17:44 paulus Exp $ */ /* * Copyright (c) 1989, 1993, 1994 @@ -45,6 +45,7 @@ #include #include +#include #include #include @@ -73,9 +74,14 @@ sl_compress_init(comp, max_state) register u_int i; register struct cstate *tstate = comp->tstate; - if (max_state == -1) + if (max_state == -1) { max_state = MAX_STATES - 1; - bzero((char *)comp, sizeof(*comp)); + bzero((char *)comp, sizeof(*comp)); + } else { + /* Don't reset statistics */ + bzero((char *)comp->tstate, sizeof(comp->tstate)); + bzero((char *)comp->rstate, sizeof(comp->rstate)); + } for (i = max_state; i > 0; --i) { tstate[i].cs_id = i; tstate[i].cs_next = &tstate[i - 1]; @@ -275,19 +281,22 @@ sl_compress_tcp(m, ip, comp, compress_cid) * with it. */ goto uncompressed; - if (deltaS = (u_int16_t)(ntohs(th->th_win) - ntohs(oth->th_win))) { + deltaS = (u_int16_t)(ntohs(th->th_win) - ntohs(oth->th_win)); + if (deltaS) { ENCODE(deltaS); changes |= NEW_W; } - if (deltaA = ntohl(th->th_ack) - ntohl(oth->th_ack)) { + deltaA = ntohl(th->th_ack) - ntohl(oth->th_ack); + if (deltaA) { if (deltaA > 0xffff) goto uncompressed; ENCODE(deltaA); changes |= NEW_A; } - if (deltaS = ntohl(th->th_seq) - ntohl(oth->th_seq)) { + deltaS = ntohl(th->th_seq) - ntohl(oth->th_seq); + if (deltaS) { if (deltaS > 0xffff) goto uncompressed; ENCODE(deltaS); @@ -422,10 +431,10 @@ sl_uncompress_tcp(bufp, len, type, comp) * header (we assume the packet we were handed has enough space to * prepend 128 bytes of header). */ - if ((int)cp & 3) { + if ((long)cp & 3) { if (len > 0) - (void) ovbcopy(cp, (caddr_t)((int)cp &~ 3), len); - cp = (u_char *)((int)cp &~ 3); + (void) ovbcopy(cp, (caddr_t)((long)cp &~ 3), len); + cp = (u_char *)((long)cp &~ 3); } cp -= hlen; len += hlen;