Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please sonar: dont apply binary operators to signed ints
authorMartin Quinson <martin.quinson@loria.fr>
Mon, 12 Dec 2016 07:57:07 +0000 (08:57 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Mon, 12 Dec 2016 07:57:07 +0000 (08:57 +0100)
examples/msg/dht-kademlia/node.c
examples/msg/dht-pastry/dht-pastry.c

index 97a89a2..e854b52 100644 (file)
@@ -116,7 +116,7 @@ unsigned int get_id_in_prefix(unsigned int id, unsigned int prefix)
   if (prefix == 0) {
     return 0;
   } else {
-    return (1 << (prefix - 1)) ^ id;
+    return (1 << ((unsigned int)(prefix - 1))) ^ id;
   }
 }
 
index ade7a76..e6c50ff 100644 (file)
@@ -68,7 +68,7 @@ typedef struct s_task_data {
 } s_task_data_t, *task_data_t;
 
 static void get_mailbox(int node_id, char* mailbox);
-static int domain(int a, int level);
+static int domain(unsigned int a, unsigned int level);
 static int shl(int a, int b);
 static int closest_in_namespace_set(node_t node, int dest);
 static int routing_next(node_t node, int dest);
@@ -86,7 +86,8 @@ static void get_mailbox(int node_id, char* mailbox)
 
 /** Get the specific level of a node id */
 unsigned int domain_mask = 0;
-static int domain(int a, int level) {
+static int domain(unsigned int a, unsigned int level)
+{
   if (domain_mask == 0)
     domain_mask = pow(2, DOMAIN_SIZE) - 1;
   unsigned int shift = (LEVELS_COUNT-level-1)*DOMAIN_SIZE;