16 lines
293 B
C
16 lines
293 B
C
|
#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;
|
||
|
}
|