Changeset View
Changeset View
Standalone View
Standalone View
head/contrib/traceroute/findsaddr-socket.c
Show First 20 Lines • Show All 150 Lines • ▼ Show 20 Lines | do { | ||||
memset(rp, 0, size); | memset(rp, 0, size); | ||||
cc = read(s, (char *)rp, size); | cc = read(s, (char *)rp, size); | ||||
if (cc < 0) { | if (cc < 0) { | ||||
sprintf(errbuf, "read: %.128s", strerror(errno)); | sprintf(errbuf, "read: %.128s", strerror(errno)); | ||||
close(s); | close(s); | ||||
return (errbuf); | return (errbuf); | ||||
} | } | ||||
} while (rp->rtm_seq != seq || rp->rtm_pid != pid); | } while (rp->rtm_type != RTM_GET || rp->rtm_seq != seq || | ||||
rp->rtm_pid != pid); | |||||
close(s); | close(s); | ||||
if (rp->rtm_version != RTM_VERSION) { | if (rp->rtm_version != RTM_VERSION) { | ||||
sprintf(errbuf, "bad version %d", rp->rtm_version); | sprintf(errbuf, "bad version %d", rp->rtm_version); | ||||
return (errbuf); | return (errbuf); | ||||
} | } | ||||
if (rp->rtm_msglen > cc) { | if (rp->rtm_msglen > cc) { | ||||
▲ Show 20 Lines • Show All 53 Lines • Show Last 20 Lines |