Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't hide issues. If users asked for rand48, we must given them this exact generator...
[simgrid.git] / src / surf / network.c
index 9e7aeaa..42f6aae 100644 (file)
@@ -199,13 +199,14 @@ static void add_route(void)
   int link_list_capacity = 0;
   link_CM02_t *link_list = NULL;
   xbt_dict_cursor_t cursor = NULL;
-  char *key,*data;
+  char *key,*data, *end;
   const char *sep = "#";
   xbt_dynar_t links, keys;
 
   if (routing_table == NULL) create_routing_table();
 
   xbt_dict_foreach(route_table, cursor, key, data) {
+         char* link = NULL;
     nb_link = 0;
     links = (xbt_dynar_t)data;
     keys = xbt_str_split_str(key, sep);
@@ -213,10 +214,10 @@ static void add_route(void)
     link_list_capacity = xbt_dynar_length(links);
     link_list = xbt_new(link_CM02_t, link_list_capacity);
 
-    src_id = atoi(xbt_dynar_get_as(keys, 0, char*));
-    dst_id = atoi(xbt_dynar_get_as(keys, 1, char*));
+    src_id = strtol(xbt_dynar_get_as(keys, 0, char*), &end, 16);
+    dst_id = strtol(xbt_dynar_get_as(keys, 1, char*), &end, 16);
  
-    char* link = NULL;
+    
     xbt_dynar_foreach (links, cpt, link) {
       TRY {
        link_list[nb_link++] = xbt_dict_get(link_set, link);
@@ -226,7 +227,6 @@ static void add_route(void)
       }     
     }
     route_new(src_id, dst_id, link_list, nb_link);
-    xbt_dynar_free(&links);
    }
 
    xbt_dict_free(&route_table);