diff -upk.orig tcptraceroute-1.5beta7.orig/main.c tcptraceroute-1.5beta7/main.c --- tcptraceroute-1.5beta7.orig/main.c 2006-03-29 16:51:45 +0000 +++ tcptraceroute-1.5beta7/main.c 2006-03-29 16:52:39 +0000 @@ -26,7 +26,8 @@ /* globals */ u_long dst_ip, src_ip, isn; u_short src_prt, dst_prt; -char *device, *name, *dst, *src; +char *device, *dst, *src; +const char *name; char dst_name[TEXTSIZE], dst_prt_name[TEXTSIZE], filter[TEXTSIZE]; int datalink, offset; int o_minttl, o_maxttl, o_timeout, o_debug, o_numeric, o_pktlen, @@ -247,7 +248,10 @@ int checklong_real(char *word, int *i, i int main(int argc, char **argv) { - char *optstring, *s; + char *optstring; +#ifndef __GLIBC__ + char *s; +#endif int op, i, exitcode; priv_minimize(); @@ -289,10 +293,16 @@ int main(int argc, char **argv) o_trackport = 0; #endif +#ifdef __GLIBC__ + name = program_invocation_short_name; +#else /* strip out path from argv[0] */ - for (name = s = argv[0]; s[0]; s++) + for (name = s = argv[0]; s && s[0]; s++) if (s[0] == '/' && s[1]) name = &s[1]; +#endif /* __GLIBC__ */ + if (!name || !*name) + name = "tcptraceroute"; /* First loop through and extract long command line arguments ... */ diff -upk.orig tcptraceroute-1.5beta7.orig/tcptraceroute.h tcptraceroute-1.5beta7/tcptraceroute.h --- tcptraceroute-1.5beta7.orig/tcptraceroute.h 2006-03-29 02:31:42 +0000 +++ tcptraceroute-1.5beta7/tcptraceroute.h 2006-03-29 16:52:04 +0000 @@ -78,7 +78,8 @@ Updates are available from http://michae extern u_long dst_ip, src_ip, isn; extern u_short src_prt, dst_prt; -extern char *device, *name, *dst, *src; +extern char *device, *dst, *src; +extern const char *name; extern char dst_name[], dst_prt_name[], filter[], errbuf[]; extern int datalink, offset; extern int o_minttl, o_maxttl, o_timeout, o_debug, o_numeric, o_pktlen,