| 100 | } while (0) |
| 101 | |
| 102 | static int |
| 103 | skippacket(struct sockbuf *sb) { |
| 104 | unsigned long packlen; |
| 105 | struct packet q, *p = &q; |
| 106 | |
| 107 | if (sbavail(sb) < 2) |
| 108 | return DNS_WAIT; |
| 109 | |
| 110 | q.m = sb->sb_mb; |
| 111 | q.n = q.m->m_nextpkt; |
| 112 | q.moff = 0; |
| 113 | q.offset = 0; |
| 114 | q.len = sbavail(sb); |
| 115 | |
| 116 | GET16(p, packlen); |
| 117 | if (packlen + 2 > q.len) |
| 118 | return DNS_WAIT; |
| 119 | |
| 120 | return DNS_OK; |
| 121 | } |