- host_id = bprintf("%s%d%s", cluster_prefix, i, cluster_suffix);
-#ifndef HAVE_PCRE_LIB
- xbt_dynar_push_as(tab_elements_num, int, i);
-#endif
- link_id = bprintf("%s_link_%d", cluster_id, i);
-
- xbt_dict_set(patterns, "radical", bprintf("%d", i), xbt_free);
- temp_cluster_power = xbt_strdup(cluster_power);
- temp_cluster_power = replace_random_parameter(temp_cluster_power);
- XBT_DEBUG("<host\tid=\"%s\"\tpower=\"%s\">", host_id, temp_cluster_power);
- A_surfxml_host_state = A_surfxml_host_state_ON;
- SURFXML_BUFFER_SET(host_id, host_id);
- SURFXML_BUFFER_SET(host_power, temp_cluster_power);
- SURFXML_BUFFER_SET(host_core, cluster_core);
- SURFXML_BUFFER_SET(host_availability, "1.0");
- SURFXML_BUFFER_SET(host_coordinates, "");
- xbt_free(availability_file);
- availability_file = xbt_strdup(cluster_availability_file);
- xbt_free(state_file);
- state_file = xbt_strdup(cluster_state_file);
- XBT_DEBUG("\tavailability_file=\"%s\"",xbt_str_varsubst(availability_file,patterns));
- XBT_DEBUG("\tstate_file=\"%s\"",xbt_str_varsubst(state_file,patterns));
- SURFXML_BUFFER_SET(host_availability_file, xbt_str_varsubst(availability_file,patterns));
- SURFXML_BUFFER_SET(host_state_file, xbt_str_varsubst(state_file,patterns));
- XBT_DEBUG("</host>");
- SURFXML_START_TAG(host);
- SURFXML_END_TAG(host);
-
- xbt_free(temp_cluster_power);
-
- temp_cluster_bw = xbt_strdup(cluster_bw);
- temp_cluster_bw = replace_random_parameter(temp_cluster_bw);
- temp_cluster_lat = xbt_strdup(cluster_lat);
- temp_cluster_lat = replace_random_parameter(temp_cluster_lat);
- XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%s\"\tlat=\"%s\"/>", link_id,temp_cluster_bw, cluster_lat);
- A_surfxml_link_state = A_surfxml_link_state_ON;
- A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
- {A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;}
- if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FATPIPE)
- {A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;}
- SURFXML_BUFFER_SET(link_id, link_id);
- SURFXML_BUFFER_SET(link_bandwidth, temp_cluster_bw);
- SURFXML_BUFFER_SET(link_latency, temp_cluster_lat);
- SURFXML_BUFFER_SET(link_bandwidth_file, "");
- SURFXML_BUFFER_SET(link_latency_file, "");
- SURFXML_BUFFER_SET(link_state_file, "");
- SURFXML_START_TAG(link);
- SURFXML_END_TAG(link);
-
- xbt_free(temp_cluster_bw);
- xbt_free(temp_cluster_lat);
- free(link_id);
- free(host_id);
+ host_id = bprintf("%s%d%s", struct_cluster->V_cluster_prefix, i, struct_cluster->V_cluster_suffix);
+ link_id = bprintf("%s_link_%d", struct_cluster->V_cluster_id, i);
+ xbt_dict_set(patterns, "radical", bprintf("%d", i), xbt_free);
+ A_surfxml_host_state = A_surfxml_host_state_ON;
+
+ XBT_DEBUG("<host\tid=\"%s\"\tpower=\"%s\">", host_id, struct_cluster->S_cluster_power);
+ SURFXML_BUFFER_SET(host_id, host_id);
+ SURFXML_BUFFER_SET(host_power, struct_cluster->S_cluster_power);
+
+ if(!strcmp(A_surfxml_cluster_availability_file,"")){
+ char* tmp_availability_file = xbt_strdup(availability_file);
+ xbt_str_varsubst(tmp_availability_file,patterns);
+ XBT_DEBUG("\tavailability_file=\"%s\"",tmp_availability_file);
+ SURFXML_BUFFER_SET(host_availability_file, tmp_availability_file);
+ xbt_free(tmp_availability_file);
+ }
+ else
+ {
+ XBT_DEBUG("\tavailability_file=\"\"");
+ SURFXML_BUFFER_SET(host_availability_file, "");
+ }
+ if(!strcmp(A_surfxml_cluster_state_file,"")){
+ char *tmp_state_file = xbt_strdup(state_file);
+ xbt_str_varsubst(tmp_state_file,patterns);
+ XBT_DEBUG("\tstate_file=\"%s\"",tmp_state_file);
+ SURFXML_BUFFER_SET(host_state_file, tmp_state_file);
+ xbt_free(tmp_state_file);
+ }
+ else
+ {
+ XBT_DEBUG("\tstate_file=\"\"");
+ SURFXML_BUFFER_SET(host_state_file, "");
+ }
+
+ SURFXML_BUFFER_SET(host_core, struct_cluster->S_cluster_core);
+ SURFXML_BUFFER_SET(host_availability, "1.0");
+ SURFXML_BUFFER_SET(host_coordinates, "");
+ SURFXML_START_TAG(host);
+ SURFXML_END_TAG(host);
+ XBT_DEBUG("</host>");
+
+ A_surfxml_link_state = A_surfxml_link_state_ON;
+ A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
+ if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FULLDUPLEX)
+ {A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;}
+ if(cluster_sharing_policy == A_surfxml_cluster_sharing_policy_FATPIPE)
+ {A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;}
+
+ XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%s\"\tlat=\"%s\"/>", link_id,struct_cluster->S_cluster_bw, struct_cluster->S_cluster_lat);
+
+ SURFXML_BUFFER_SET(link_id, link_id);
+ SURFXML_BUFFER_SET(link_bandwidth, struct_cluster->S_cluster_bw);
+ SURFXML_BUFFER_SET(link_latency, struct_cluster->S_cluster_lat);
+ SURFXML_BUFFER_SET(link_bandwidth_file, "");
+ SURFXML_BUFFER_SET(link_latency_file, "");
+ SURFXML_BUFFER_SET(link_state_file, "");
+ SURFXML_START_TAG(link);
+ SURFXML_END_TAG(link);
+
+ free(link_id);
+ free(host_id);