2003-09-19 19:08:13 +00:00
|
|
|
#include "scan.h"
|
2001-11-25 23:50:09 +00:00
|
|
|
|
2014-03-14 19:42:54 +00:00
|
|
|
size_t scan_ip6_flat(const char *s,char ip[16])
|
2001-11-25 23:50:09 +00:00
|
|
|
{
|
2014-03-14 19:42:54 +00:00
|
|
|
size_t i;
|
2001-11-25 23:50:09 +00:00
|
|
|
for (i=0; i<16; i++) {
|
|
|
|
int tmp;
|
2014-03-14 19:42:54 +00:00
|
|
|
tmp=scan_fromhex((unsigned char)*s++);
|
2001-11-25 23:50:09 +00:00
|
|
|
if (tmp<0) return 0;
|
2014-03-14 19:42:54 +00:00
|
|
|
ip[i]=(char)(tmp << 4);
|
|
|
|
tmp=scan_fromhex((unsigned char)*s++);
|
2001-11-25 23:50:09 +00:00
|
|
|
if (tmp<0) return 0;
|
2014-03-14 19:42:54 +00:00
|
|
|
ip[i] = ip[i] | (char)tmp;
|
2001-11-25 23:50:09 +00:00
|
|
|
}
|
|
|
|
return 32;
|
|
|
|
}
|