ntp_adjtime();
client_update(struct ntp_peer *p){	int	i, best = 0, good = 0;	/*	 * clock filter	 * find the offset which arrived with the lowest delay	 * use that as the peer update	 * invalidate it and all older ones	 */	for (i = 0; good == 0 && i < OFFSET_ARRAY_SIZE; i++)		if (p->reply[i].good) {			good++;			best = i;		}	for (; i < OFFSET_ARRAY_SIZE; i++) {		if (p->reply[i].good &&		    p->reply[i].rcvd + REPLY_MAXAGE < time(NULL))			p->reply[i].good = 0;		if (p->reply[i].good) {			good++;			if (p->reply[i].delay < p->reply[best].delay)				best = i;		}	}	if (good < 8)		return (-1);	memcpy(&p->update, &p->reply[best], sizeof(p->update));	for (i = 0; i < OFFSET_ARRAY_SIZE; i++)		if (p->reply[i].rcvd <= p->reply[best].rcvd)			p->reply[i].good = 0;	return (0);}