case KR_SELECTION_NUMBER_OF_ERRORS: break; // not a valid code
#undef X
}
- assert(false); // we want to define all; compiler helps by -Wswitch (no default:)
+ (void)!kr_assume(false); // we want to define all; compiler helps by -Wswitch (no default:)
return NULL;
}
if (cache->api->read(db, stats, &key, &value, 1)) {
state = default_rtt_state;
- } else if (value.len != sizeof(struct rtt_state)) {
- assert(false); // shouldn't happen but let's be more robust
+ } else if (!kr_assume(value.len == sizeof(struct rtt_state))) {
+ // shouldn't happen but let's be more robust
state = default_rtt_state;
} else { // memcpy is safe for unaligned case (on non-x86)
memcpy(&state, value.data, sizeof(state));
dst->ip6.sin6_port = htons(port);
break;
default:
- assert(0);
+ (void)!kr_assume(false);
}
}
case sizeof(struct in6_addr):
return (uint8_t *)&src->ip6.sin6_addr;
default:
- assert(0);
+ (void)!kr_assume(false);
return NULL;
}
}
// period when we don't want to use the address
state->generation = -1;
} else {
- assert(now >= rs->dead_since + retry_timeout);
+ (void)!kr_assume(now >= rs->dead_since + retry_timeout);
// we allow to retry the server now
// TODO: perhaps tweak *rs?
}
port = KR_DNS_PORT;
break;
default:
- assert(0);
+ (void)!kr_assume(false);
return NULL;
}
}
transport->address.ip6.sin6_port = htons(port);
break;
default:
- assert(0);
+ (void)!kr_assume(false);
return NULL;
}
addr_state->broken = true;
break;
default:
- assert(0);
- break;
+ (void)!kr_assume(false);
+ return;
}
addr_state->error_count++;