(errno == ERANGE && v == ULONG_MAX) || (v < 1 || v > 0xffffffff)) {
v < 1 || v > 0xffffffffUL || (errno == ERANGE && v == ULONG_MAX)) {
bridge_ifcost(int s, char *brdg, char *ifname, char *val){	struct ifbreq breq;	u_int32_t v;	char *endptr;	strlcpy(breq.ifbr_name, brdg, sizeof(breq.ifbr_name));	strlcpy(breq.ifbr_ifsname, ifname, sizeof(breq.ifbr_ifsname));	errno = 0;	v = strtoul(val, &endptr, 0);	if (val[0] == '\0' || endptr[0] != '\0' ||	    (errno == ERANGE && v == ULONG_MAX) || (v < 1 || v > 0xffffffff)) {		printf("invalid arg for ifcost: %s\n", val);		return (EX_USAGE);	}	breq.ifbr_path_cost = v;	if (ioctl(s, SIOCBRDGSIFCOST, (caddr_t)&breq) < 0) {		warn("%s: %s", brdg, val);		return (EX_IOERR);	}	return (0);}