-again:
- if ((rlen = read(s, (char *)&m_rtmsg, l)) < 0) {
- perror("reading from routing socket");
- printf("got only %d for rlen\n", rlen);
- return (-1);
- }
- if ((m_rtmsg.m_rtm.rtm_pid != pid) ||
- (m_rtmsg.m_rtm.rtm_seq != seq)) {
- printf("Got response for somebody else's request");
- goto again;
- }
- if (qflag == 0)
- print_rtmsg( &m_rtmsg.m_rtm, rlen);
- if ((m_rtmsg.m_rtm.rtm_flags & RTF_DONE) == 0) {
- errno = m_rtmsg.m_rtm.rtm_errno;
- perror("response from routing socket turned down");
- return (-1);
- }