From c30dbdad409cd53e92bf96fd3ea9a6f32a7cb0d1 Mon Sep 17 00:00:00 2001 From: brian Date: Fri, 6 Aug 1999 01:34:03 +0000 Subject: If the clock is put back, ensure that we don't end up dividing by zero when calculating our throughput --- usr.sbin/ppp/throughput.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'usr.sbin') diff --git a/usr.sbin/ppp/throughput.c b/usr.sbin/ppp/throughput.c index dd1b24f..af3b09a 100644 --- a/usr.sbin/ppp/throughput.c +++ b/usr.sbin/ppp/throughput.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: throughput.c,v 1.9 1999/05/08 11:07:47 brian Exp $ + * $Id: throughput.c,v 1.10 1999/08/05 10:32:15 brian Exp $ */ #include @@ -75,6 +75,15 @@ throughput_uptime(struct pppThroughput *t) time_t downat; downat = t->downtime ? t->downtime : time(NULL); + if (t->uptime && downat < t->uptime) { + /* Euch ! The clock's gone back ! */ + int i; + + for (i = 0; i < t->SamplePeriod; i++) + t->SampleOctets[i] = 0; + t->nSample = 0; + t->uptime = downat; + } return t->uptime ? downat - t->uptime : 0; } -- cgit v1.1