From: Arnaud Giersch Date: Thu, 9 Jul 2020 10:34:47 +0000 (+0200) Subject: [sonar] Explicit cast when loosing precision (C examples). X-Git-Tag: v3.26~482 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/227a88738ba85d6161e9e8d4da4c65b605584a46 [sonar] Explicit cast when loosing precision (C examples). --- diff --git a/examples/c/app-bittorrent/bittorrent-peer.c b/examples/c/app-bittorrent/bittorrent-peer.c index 82698bf9a7..408d3f136d 100644 --- a/examples/c/app-bittorrent/bittorrent-peer.c +++ b/examples/c/app-bittorrent/bittorrent-peer.c @@ -79,7 +79,7 @@ void peer(int argc, char* argv[]) xbt_assert(argc == 3 || argc == 4, "Wrong number of arguments"); // Build peer object - peer_t peer = peer_init(xbt_str_parse_int(argv[1], "Invalid ID: %s"), argc == 4 ? 1 : 0); + peer_t peer = peer_init((int)xbt_str_parse_int(argv[1], "Invalid ID: %s"), argc == 4 ? 1 : 0); // Retrieve deadline peer->deadline = xbt_str_parse_double(argv[2], "Invalid deadline: %s"); diff --git a/examples/c/app-bittorrent/tracker.c b/examples/c/app-bittorrent/tracker.c index dcee75fb51..09900f75e2 100644 --- a/examples/c/app-bittorrent/tracker.c +++ b/examples/c/app-bittorrent/tracker.c @@ -58,7 +58,7 @@ void tracker(int argc, char* argv[]) // Sending peers to the requesting peer tracker_answer_t ta = tracker_answer_new(TRACKER_QUERY_INTERVAL); int next_peer; - int peers_length = xbt_dynar_length(peers_list); + int peers_length = (int)xbt_dynar_length(peers_list); for (int i = 0; i < MAXIMUM_PEERS && i < peers_length; i++) { do { next_peer = xbt_dynar_get_as(peers_list, rand() % peers_length, int); diff --git a/examples/c/app-chainsend/broadcaster.c b/examples/c/app-chainsend/broadcaster.c index 9444caac0c..a5b8e6a20b 100644 --- a/examples/c/app-chainsend/broadcaster.c +++ b/examples/c/app-chainsend/broadcaster.c @@ -75,7 +75,7 @@ void broadcaster(int argc, char* argv[]) { XBT_DEBUG("broadcaster"); xbt_assert(argc > 2); - unsigned int host_count = xbt_str_parse_int(argv[1], "Invalid number of peers: %s"); + unsigned int host_count = (unsigned int)xbt_str_parse_int(argv[1], "Invalid number of peers: %s"); sg_mailbox_t* mailboxes = xbt_malloc(sizeof(sg_mailbox_t) * host_count); @@ -86,7 +86,7 @@ void broadcaster(int argc, char* argv[]) free(name); } - unsigned int piece_count = xbt_str_parse_int(argv[2], "Invalid number of pieces: %s"); + unsigned int piece_count = (unsigned int)xbt_str_parse_int(argv[2], "Invalid number of pieces: %s"); broadcaster_t bc = broadcaster_init(mailboxes, host_count, piece_count); diff --git a/examples/c/app-masterworker/app-masterworker.c b/examples/c/app-masterworker/app-masterworker.c index 1db37f7b5b..6137c8b918 100644 --- a/examples/c/app-masterworker/app-masterworker.c +++ b/examples/c/app-masterworker/app-masterworker.c @@ -23,7 +23,7 @@ static void master(int argc, char* argv[]) xbt_assert(argc == 5, "The master function expects 4 arguments from the XML deployment file"); long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s"); /* - Number of tasks */ double comp_size = xbt_str_parse_double(argv[2], "Invalid computational size: %s"); /* - Compute cost */ - double comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s"); /* - Communication size */ + long comm_size = xbt_str_parse_int(argv[3], "Invalid communication size: %s"); /* - Communication size */ long workers_count = xbt_str_parse_int(argv[4], "Invalid amount of workers: %s"); /* - Number of workers */ XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks); diff --git a/examples/c/app-token-ring/app-token-ring.c b/examples/c/app-token-ring/app-token-ring.c index 1484d2b058..69c6fc177f 100644 --- a/examples/c/app-token-ring/app-token-ring.c +++ b/examples/c/app-token-ring/app-token-ring.c @@ -23,7 +23,7 @@ static void relay_runner(int argc, char* argv[]) xbt_assert(argc == 0, "The relay_runner function does not accept any parameter from the XML deployment file"); const char* name = sg_actor_self_get_name(); - int rank = xbt_str_parse_int(name, "Any actor of this example must have a numerical name, not %s"); + int rank = (int)xbt_str_parse_int(name, "Any actor of this example must have a numerical name, not %s"); sg_mailbox_t my_mailbox = sg_mailbox_by_name(name); diff --git a/examples/c/cloud-capping/cloud-capping.c b/examples/c/cloud-capping/cloud-capping.c index aafc0dc20b..bc3de023fd 100644 --- a/examples/c/cloud-capping/cloud-capping.c +++ b/examples/c/cloud-capping/cloud-capping.c @@ -20,7 +20,7 @@ static void worker_main(int argc, char* argv[]) { xbt_assert(argc == 4); double computation_amount = xbt_str_parse_double(argv[1], "Invalid computation amount: %s"); - int use_bound = xbt_str_parse_int(argv[2], "Second parameter (use_bound) should be 0 or 1 but is: %s"); + int use_bound = !!xbt_str_parse_int(argv[2], "Second parameter (use_bound) should be 0 or 1 but is: %s"); double bound = xbt_str_parse_double(argv[3], "Invalid bound: %s"); double clock_sta = simgrid_get_clock(); diff --git a/examples/c/cloud-masterworker/cloud-masterworker.c b/examples/c/cloud-masterworker/cloud-masterworker.c index c58c30dcca..1e54f2d514 100644 --- a/examples/c/cloud-masterworker/cloud-masterworker.c +++ b/examples/c/cloud-masterworker/cloud-masterworker.c @@ -21,7 +21,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(cloud_masterworker, "Messages specific for this exa #define FINALIZE 221297 /* a magic number to tell people to stop working */ const double comp_size = 10000000; -const double comm_size = 10000000; +const long comm_size = 10000000; static void send_tasks(int nb_workers) { diff --git a/examples/c/comm-wait/comm-wait.c b/examples/c/comm-wait/comm-wait.c index 61198631e2..142dcf7b85 100644 --- a/examples/c/comm-wait/comm-wait.c +++ b/examples/c/comm-wait/comm-wait.c @@ -21,7 +21,7 @@ static void sender(int argc, char* argv[]) { xbt_assert(argc == 5, "The sender function expects 4 arguments from the XML deployment file"); long messages_count = xbt_str_parse_int(argv[1], "Invalid amount of messages: %s"); /* - number of messages */ - double message_size = xbt_str_parse_double(argv[2], "Invalid message size: %s"); /* - communication cost */ + long message_size = xbt_str_parse_int(argv[2], "Invalid message size: %s"); /* - communication cost */ double sleep_start_time = xbt_str_parse_double(argv[3], "Invalid sleep start time: %s"); /* - start time */ double sleep_test_time = xbt_str_parse_double(argv[4], "Invalid test time: %s"); /* - test time */ diff --git a/examples/c/comm-waitall/comm-waitall.c b/examples/c/comm-waitall/comm-waitall.c index 19922054a3..d6aca01073 100644 --- a/examples/c/comm-waitall/comm-waitall.c +++ b/examples/c/comm-waitall/comm-waitall.c @@ -69,7 +69,7 @@ static void sender(int argc, char* argv[]) static void receiver(int argc, char* argv[]) { xbt_assert(argc == 2, "Expecting one parameter from the XML deployment file but got %d", argc); - int id = xbt_str_parse_int(argv[1], "ID should be numerical, not %s"); + int id = (int)xbt_str_parse_int(argv[1], "ID should be numerical, not %s"); char mailbox_name[80]; snprintf(mailbox_name, 79, "receiver-%d", id); sg_mailbox_t mbox = sg_mailbox_by_name(mailbox_name); diff --git a/examples/c/comm-waitany/comm-waitany.c b/examples/c/comm-waitany/comm-waitany.c index 248a219db0..cd99dd3eef 100644 --- a/examples/c/comm-waitany/comm-waitany.c +++ b/examples/c/comm-waitany/comm-waitany.c @@ -82,7 +82,7 @@ static void sender(int argc, char* argv[]) static void receiver(int argc, char* argv[]) { xbt_assert(argc == 2, "Expecting one parameter from the XML deployment file but got %d", argc); - int id = xbt_str_parse_int(argv[1], "ID should be numerical, not %s"); + int id = (int)xbt_str_parse_int(argv[1], "ID should be numerical, not %s"); char mailbox_name[80]; snprintf(mailbox_name, 79, "receiver-%d", id); sg_mailbox_t mbox = sg_mailbox_by_name(mailbox_name); diff --git a/examples/c/dht-kademlia/dht-kademlia.c b/examples/c/dht-kademlia/dht-kademlia.c index 887bc1c295..63130347fb 100644 --- a/examples/c/dht-kademlia/dht-kademlia.c +++ b/examples/c/dht-kademlia/dht-kademlia.c @@ -27,12 +27,12 @@ static void node(int argc, char* argv[]) double deadline; xbt_assert(argc == 3 || argc == 4, "Wrong number of arguments"); /* Node initialization */ - unsigned int id = strtoul(argv[1], NULL, 0); + unsigned int id = (unsigned int)strtoul(argv[1], NULL, 0); node_t node = node_init(id); if (argc == 4) { XBT_INFO("Hi, I'm going to join the network with id %s", sg_mailbox_get_name(node->mailbox)); - unsigned int id_known = strtoul(argv[2], NULL, 0); + unsigned int id_known = (unsigned int)strtoul(argv[2], NULL, 0); join_success = join(node, id_known); deadline = strtod(argv[3], NULL); } else { diff --git a/examples/c/dht-pastry/dht-pastry.c b/examples/c/dht-pastry/dht-pastry.c index e6d6919683..7fcc0b2010 100644 --- a/examples/c/dht-pastry/dht-pastry.c +++ b/examples/c/dht-pastry/dht-pastry.c @@ -13,7 +13,6 @@ #include "xbt/str.h" #include "xbt/sysdep.h" -#include #include XBT_LOG_NEW_DEFAULT_CATEGORY(pastry, "Messages specific for this example"); @@ -83,7 +82,7 @@ unsigned int domain_mask = 0; static int domain(unsigned int a, unsigned int level) { if (domain_mask == 0) - domain_mask = pow(2, DOMAIN_SIZE) - 1; + domain_mask = (1u << DOMAIN_SIZE) - 1; unsigned int shift = (LEVELS_COUNT - level - 1) * DOMAIN_SIZE; return (a >> shift) & domain_mask; } @@ -446,7 +445,7 @@ static void node(int argc, char* argv[]) double deadline; xbt_assert(argc == 3 || argc == 5, "Wrong number of arguments for this node"); s_node_t node = {0}; - node.id = xbt_str_parse_int(argv[1], "Invalid ID: %s"); + node.id = (int)xbt_str_parse_int(argv[1], "Invalid ID: %s"); node.known_id = -1; node.ready = -1; node.pending_messages = xbt_dynar_new(sizeof(pastry_message_t), NULL); @@ -473,7 +472,7 @@ static void node(int argc, char* argv[]) XBT_DEBUG("Create a new Pastry ring..."); join_success = 1; } else { - node.known_id = xbt_str_parse_int(argv[2], "Invalid known ID: %s"); + node.known_id = (int)xbt_str_parse_int(argv[2], "Invalid known ID: %s"); double sleep_time = xbt_str_parse_double(argv[3], "Invalid sleep time: %s"); deadline = xbt_str_parse_double(argv[4], "Invalid deadline: %s"); @@ -521,12 +520,12 @@ int main(int argc, char* argv[]) while (!strncmp(options[0], "-", 1)) { int length = strlen("-nb_bits="); if (!strncmp(options[0], "-nb_bits=", length) && strlen(options[0]) > length) { - nb_bits = xbt_str_parse_int(options[0] + length, "Invalid nb_bits parameter: %s"); + nb_bits = (int)xbt_str_parse_int(options[0] + length, "Invalid nb_bits parameter: %s"); XBT_DEBUG("Set nb_bits to %d", nb_bits); } else { length = strlen("-timeout="); if (!strncmp(options[0], "-timeout=", length) && strlen(options[0]) > length) { - timeout = xbt_str_parse_int(options[0] + length, "Invalid timeout parameter: %s"); + timeout = (int)xbt_str_parse_int(options[0] + length, "Invalid timeout parameter: %s"); XBT_DEBUG("Set timeout to %d", timeout); } else { xbt_die("Invalid pastry option '%s'", options[0]); diff --git a/examples/c/energy-exec-ptask/energy-exec-ptask.c b/examples/c/energy-exec-ptask/energy-exec-ptask.c index 7249e0146e..54ac87095c 100644 --- a/examples/c/energy-exec-ptask/energy-exec-ptask.c +++ b/examples/c/energy-exec-ptask/energy-exec-ptask.c @@ -17,7 +17,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(energy_exec_ptask, "Messages specific for this exam static void runner(int argc, char* argv[]) { /* Retrieve the list of all hosts as an array of hosts */ - int host_count = sg_host_count(); + int host_count = (int)sg_host_count(); sg_host_t* hosts = sg_host_list(); XBT_INFO("First, build a classical parallel task, with 1 Gflop to execute on each node, " diff --git a/examples/c/platform-failures/platform-failures.c b/examples/c/platform-failures/platform-failures.c index cdb4edf196..34e0eafe89 100644 --- a/examples/c/platform-failures/platform-failures.c +++ b/examples/c/platform-failures/platform-failures.c @@ -25,7 +25,7 @@ static void master(int argc, char* argv[]) xbt_assert(argc == 5); long number_of_tasks = xbt_str_parse_int(argv[1], "Invalid amount of tasks: %s"); double task_comp_size = xbt_str_parse_double(argv[2], "Invalid computational size: %s"); - double task_comm_size = xbt_str_parse_double(argv[3], "Invalid communication size: %s"); + long task_comm_size = xbt_str_parse_int(argv[3], "Invalid communication size: %s"); long workers_count = xbt_str_parse_int(argv[4], "Invalid amount of workers: %s"); XBT_INFO("Got %ld workers and %ld tasks to process", workers_count, number_of_tasks); diff --git a/examples/smpi/replay_multiple/replay_multiple.c b/examples/smpi/replay_multiple/replay_multiple.c index 7ad646ea34..847873b8ff 100644 --- a/examples/smpi/replay_multiple/replay_multiple.c +++ b/examples/smpi/replay_multiple/replay_multiple.c @@ -16,7 +16,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example") static void smpi_replay(int argc, char* argv[]) { const char* instance_id = argv[1]; - int rank = xbt_str_parse_int(argv[2], "Cannot parse rank '%s'"); + int rank = (int)xbt_str_parse_int(argv[2], "Cannot parse rank '%s'"); const char* trace_filename = argv[3]; double start_delay_flops = 0; @@ -52,7 +52,7 @@ int main(int argc, char *argv[]){ const char** line_char= xbt_dynar_to_array(elems); instance_id = line_char[0]; - int instance_size = xbt_str_parse_int(line_char[2], "Invalid size: %s"); + int instance_size = (int)xbt_str_parse_int(line_char[2], "Invalid size: %s"); XBT_INFO("Initializing instance %s of size %d", instance_id, instance_size); SMPI_app_instance_register(instance_id, smpi_replay,instance_size);