* start at mbuf m, (must provide npkt if exists) * starting at offset in m compare characters in mbuf chain for 'cmp' */
| 90 | * starting at offset in m compare characters in mbuf chain for 'cmp' |
| 91 | */ |
| 92 | static int |
| 93 | mbufstrcmp(struct mbuf *m, struct mbuf *npkt, int offset, char *cmp) |
| 94 | { |
| 95 | struct mbuf *n; |
| 96 | |
| 97 | for (; m != NULL; m = n) { |
| 98 | n = npkt; |
| 99 | if (npkt) |
| 100 | npkt = npkt->m_nextpkt; |
| 101 | for (; m; m = m->m_next) { |
| 102 | for (; offset < m->m_len; offset++, cmp++) { |
| 103 | if (*cmp == '\0') |
| 104 | return (1); |
| 105 | else if (*cmp != *(mtod(m, char *) + offset)) |
| 106 | return (0); |
| 107 | } |
| 108 | if (*cmp == '\0') |
| 109 | return (1); |
| 110 | offset = 0; |
| 111 | } |
| 112 | } |
| 113 | return (0); |
| 114 | } |
| 115 | |
| 116 | /* |
| 117 | * start at mbuf m, (must provide npkt if exists) |
no outgoing calls
no test coverage detected