musl-tcc/src/network/dn_skipname.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;
}