if (prefix == 0) {
return 0;
} else {
- return (1 << (prefix - 1)) ^ id;
+ return (1U << ((unsigned int)(prefix - 1))) ^ id;
}
}
/** @brief Returns the prefix of an identifier.
* The prefix is the id of the bucket in which the remote identifier xor our identifier should be stored.
- * @param id : bigunsigned int id to test
+ * @param id : big unsigned int id to test
* @param nb_bits : key size
*/
unsigned int get_node_prefix(unsigned int id, unsigned int nb_bits)
{
- unsigned int j, size = sizeof(unsigned int) * 8;
- for (j = 0; j < size; j++) {
+ unsigned int size = sizeof(unsigned int) * 8;
+ for (unsigned int j = 0; j < size; j++) {
if (((id >> (size - 1 - j)) & 0x1) != 0) {
return nb_bits - (j);
}