Changeset View
Changeset View
Standalone View
Standalone View
head/sbin/ifconfig/af_inet6.c
Show First 20 Lines • Show All 343 Lines • ▼ Show 20 Lines | if((p = strrchr(s, '/')) != NULL) { | ||||
explicit_prefix = 1; | explicit_prefix = 1; | ||||
} | } | ||||
} | } | ||||
if (sin->sin6_family == AF_INET6) { | if (sin->sin6_family == AF_INET6) { | ||||
bzero(&hints, sizeof(struct addrinfo)); | bzero(&hints, sizeof(struct addrinfo)); | ||||
hints.ai_family = AF_INET6; | hints.ai_family = AF_INET6; | ||||
error = getaddrinfo(s, NULL, &hints, &res); | error = getaddrinfo(s, NULL, &hints, &res); | ||||
} | |||||
if (error != 0) { | if (error != 0) { | ||||
if (inet_pton(AF_INET6, s, &sin->sin6_addr) != 1) | if (inet_pton(AF_INET6, s, &sin->sin6_addr) != 1) | ||||
errx(1, "%s: bad value", s); | errx(1, "%s: bad value", s); | ||||
} else | } else { | ||||
bcopy(res->ai_addr, sin, res->ai_addrlen); | bcopy(res->ai_addr, sin, res->ai_addrlen); | ||||
freeaddrinfo(res); | |||||
} | |||||
} | |||||
} | } | ||||
static int | static int | ||||
prefix(void *val, int size) | prefix(void *val, int size) | ||||
{ | { | ||||
u_char *name = (u_char *)val; | u_char *name = (u_char *)val; | ||||
int byte, bit, plen = 0; | int byte, bit, plen = 0; | ||||
▲ Show 20 Lines • Show All 182 Lines • Show Last 20 Lines |