traceroute: stop using floating point needlessly; nuke useless assignment.

.rodata                                           129308  129312      +4
freehostinfo                                          35      29      -6
traceroute_main                                     4308    4300      -8
This commit is contained in:
Denis Vlasenko 2007-06-14 07:47:52 +00:00
parent 26017b1b04
commit 1adf681e87

View File

@ -710,16 +710,6 @@ send_probe(int seq, int ttl, struct timeval *tp)
} }
} }
static inline double
deltaT(struct timeval *t1p, struct timeval *t2p)
{
double dt;
dt = (double)(t2p->tv_sec - t1p->tv_sec) * 1000.0 +
(double)(t2p->tv_usec - t1p->tv_usec) / 1000.0;
return dt;
}
#if ENABLE_FEATURE_TRACEROUTE_VERBOSE #if ENABLE_FEATURE_TRACEROUTE_VERBOSE
/* /*
* Convert an ICMP "type" field to a printable string. * Convert an ICMP "type" field to a printable string.
@ -901,9 +891,8 @@ static void
freehostinfo(struct hostinfo *hi) freehostinfo(struct hostinfo *hi)
{ {
free(hi->name); free(hi->name);
hi->name = NULL; free(hi->addrs);
free((char *)hi->addrs); free(hi);
free((char *)hi);
} }
#if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE #if ENABLE_FEATURE_TRACEROUTE_SOURCE_ROUTE
@ -918,6 +907,12 @@ getaddr(uint32_t *ap, const char *host)
} }
#endif #endif
static void
print_delta_ms(struct timeval *t1p, struct timeval *t2p)
{
unsigned tt = (t2p->tv_sec - t1p->tv_sec) * 1000000 + (t2p->tv_usec - t1p->tv_usec);
printf(" %u.%03u ms", tt/1000, tt%1000);
}
int traceroute_main(int argc, char **argv); int traceroute_main(int argc, char **argv);
int traceroute_main(int argc, char **argv) int traceroute_main(int argc, char **argv)
@ -1256,7 +1251,7 @@ int traceroute_main(int argc, char **argv)
lastaddr = from->sin_addr.s_addr; lastaddr = from->sin_addr.s_addr;
++gotlastaddr; ++gotlastaddr;
} }
printf(" %.3f ms", deltaT(&t1, &t2)); print_delta_ms(&t1, &t2);
ip = (struct ip *)packet; ip = (struct ip *)packet;
if (op & OPT_TTL_FLAG) if (op & OPT_TTL_FLAG)
printf(" (%d)", ip->ip_ttl); printf(" (%d)", ip->ip_ttl);