rem: icp->icmp_cksum = in_cksum((u_short *)icp, cc);
add: icp->icmp_cksum = compute_in_cksum((u_short *)icp, cc);
context: void pinger(){	struct icmp *icp;	int cc;	int i;	char *packet = outpack;	icp = (struct icmp *)outpack;	icp->icmp_type = ICMP_ECHO;	icp->icmp_code = 0;	icp->icmp_cksum = 0;	icp->icmp_seq = htons(ntransmitted++);	icp->icmp_id = ident;			/* ID */	CLR(ntohs(icp->icmp_seq) % mx_dup_ck);	if (timing) {		bigtime_t tm = real_time_clock_usecs();		memcpy(&outpack[8], &tm, sizeof(tm));	}	cc = datalen + 8;			/* skips ICMP portion */	/* compute ICMP checksum here */	icp->icmp_cksum = in_cksum((u_short *)icp, cc);	if (options & F_HDRINCL) {		struct ip *ip = (struct ip*)outpackhdr;		packet = (char*)ip;		cc += sizeof(struct ip);		ip->ip_len = htons(cc);		ip->ip_sum = in_cksum((u_short *)outpackhdr, cc);	}	i = sendto(s, (char *)packet, cc, 0, &whereto,		   sizeof(struct sockaddr));	if (i < 0 || i != cc)  {		if (i < 0)			perror("ping: sendto");		(void)printf("ping: wrote %s %d chars, ret=%d\n",		    hostname, cc, i);	}	if (!(options & F_QUIET) && options & F_FLOOD)		(void)write(STDOUT_FILENO, &DOT, 1);}