blob: eba65bb82ad277a15662084e570c6fd6046b0f1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <resolv.h>
int dn_skipname(const unsigned char *s, const unsigned char *end)
{
const unsigned char *p = s;
while (p < end)
if (!*p) return p-s+1;
else if (*p>=192)
if (p+1<end) return p-s+2;
else break;
else
if (end-p<*p+1) break;
else p += *p + 1;
return -1;
}
|