From 5c9da7af52ab2646fc16faa39ca7c10a33020a54 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 5 Nov 2011 16:41:42 +0100 Subject: [PATCH] using pointer to scalar is a strange way to return a value... --- include/surf/surfxml_parse.h | 4 +-- include/xbt/graphxml_parse.h | 3 +-- src/simix/smx_deployment.c | 4 +-- src/surf/surf_routing.c | 23 +++++++++--------- src/surf/surfxml_parse.c | 46 ++++++++++++++++++----------------- src/surf/surfxml_parseplatf.c | 2 +- src/xbt/graph.c | 8 +++--- src/xbt/graphxml_parse.c | 6 +++-- 8 files changed, 48 insertions(+), 48 deletions(-) diff --git a/include/surf/surfxml_parse.h b/include/surf/surfxml_parse.h index ee13b83575..ba6e2db572 100644 --- a/include/surf/surfxml_parse.h +++ b/include/surf/surfxml_parse.h @@ -56,8 +56,8 @@ XBT_PUBLIC(void) surf_parse_close(void); XBT_PUBLIC(void) surf_parse_init_callbacks(void); XBT_PUBLIC(void) surf_parse_reset_callbacks(void); XBT_PUBLIC(void) surf_parse_free_callbacks(void); -XBT_PUBLIC(void) surf_parse_get_double(double *value, const char *string); -XBT_PUBLIC(void) surf_parse_get_int(int *value, const char *string); +XBT_PUBLIC(double) surf_parse_get_double(const char *string); +XBT_PUBLIC(int) surf_parse_get_int(const char *string); XBT_PUBLIC(void) surf_parse_add_callback_config(void); XBT_PUBLIC(void) surf_parse_models_setup(void); /* Prototypes of the functions offered by flex */ diff --git a/include/xbt/graphxml_parse.h b/include/xbt/graphxml_parse.h index 9e3ff4fefa..ab0b5ee80f 100644 --- a/include/xbt/graphxml_parse.h +++ b/include/xbt/graphxml_parse.h @@ -29,8 +29,7 @@ extern void_f_void_t ETag_graphxml_edge_fun; XBT_PUBLIC(void) xbt_graph_parse_open(const char *file); XBT_PUBLIC(void) xbt_graph_parse_close(void); XBT_PUBLIC(void) xbt_graph_parse_reset_parser(void); -XBT_PUBLIC(void) xbt_graph_parse_get_double(double *value, - const char *string); +XBT_PUBLIC(double) xbt_graph_parse_get_double(const char *string); /* Prototypes of the functions offered by flex */ XBT_PUBLIC(int) xbt_graph_parse_lex(void); diff --git a/src/simix/smx_deployment.c b/src/simix/smx_deployment.c index fd027fe437..72e0c4c763 100644 --- a/src/simix/smx_deployment.c +++ b/src/simix/smx_deployment.c @@ -33,8 +33,8 @@ static void parse_process_init(void) parse_argc++; parse_argv = xbt_realloc(parse_argv, (parse_argc) * sizeof(char *)); parse_argv[(parse_argc) - 1] = xbt_strdup(A_surfxml_process_function); - surf_parse_get_double(&start_time, A_surfxml_process_start_time); - surf_parse_get_double(&kill_time, A_surfxml_process_kill_time); + start_time= surf_parse_get_double(A_surfxml_process_start_time); + kill_time = surf_parse_get_double(A_surfxml_process_kill_time); } static void parse_argument(void) diff --git a/src/surf/surf_routing.c b/src/surf/surf_routing.c index 5d6a515f93..8344e4a733 100644 --- a/src/surf/surf_routing.c +++ b/src/surf/surf_routing.c @@ -1610,7 +1610,7 @@ void routing_parse_Scluster(void) radical_ends = xbt_str_split(groups, "-"); switch (xbt_dynar_length(radical_ends)) { case 1: - surf_parse_get_int(&start, xbt_dynar_get_as(radical_ends, 0, char *)); + start=surf_parse_get_int(xbt_dynar_get_as(radical_ends, 0, char *)); host_id = bprintf("%s%d%s", struct_cluster->V_cluster_prefix, start, struct_cluster->V_cluster_suffix); link_id = bprintf("%s_link_%d", struct_cluster->V_cluster_id, start); @@ -1686,9 +1686,8 @@ void routing_parse_Scluster(void) case 2: - surf_parse_get_int(&start, - xbt_dynar_get_as(radical_ends, 0, char *)); - surf_parse_get_int(&end, xbt_dynar_get_as(radical_ends, 1, char *)); + start=surf_parse_get_int(xbt_dynar_get_as(radical_ends, 0, char *)); + end= surf_parse_get_int(xbt_dynar_get_as(radical_ends, 1, char *)); for (i = start; i <= end; i++) { 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); @@ -2002,11 +2001,11 @@ static void routing_parse_Srandom(void) char *random_radical = A_surfxml_random_radical; char *rd_name = NULL; char *rd_value; - surf_parse_get_double(&mean,A_surfxml_random_mean); - surf_parse_get_double(&std,A_surfxml_random_std_deviation); - surf_parse_get_double(&min,A_surfxml_random_min); - surf_parse_get_double(&max,A_surfxml_random_max); - surf_parse_get_double(&seed,A_surfxml_random_seed); + mean = surf_parse_get_double(A_surfxml_random_mean); + std = surf_parse_get_double(A_surfxml_random_std_deviation); + min = surf_parse_get_double(A_surfxml_random_min); + max = surf_parse_get_double(A_surfxml_random_max); + seed = surf_parse_get_double(A_surfxml_random_seed); double res = 0; int i = 0; @@ -2075,9 +2074,9 @@ static void routing_parse_Srandom(void) xbt_free(tmpbuf); break; - case 2: surf_parse_get_int(&start, - xbt_dynar_get_as(radical_ends, 0, char *)); - surf_parse_get_int(&end, xbt_dynar_get_as(radical_ends, 1, char *)); + case 2: + start = surf_parse_get_int(xbt_dynar_get_as(radical_ends, 0, char *)); + end = surf_parse_get_int(xbt_dynar_get_as(radical_ends, 1, char *)); for (i = start; i <= end; i++) { xbt_assert(!xbt_dict_get_or_null(random_value,random_id),"Custom Random '%s' already exists !",bprintf("%s%d",random_id,i)); res = random_generate(random); diff --git a/src/surf/surfxml_parse.c b/src/surf/surfxml_parse.c index 0d952e2380..ccbfb41740 100644 --- a/src/surf/surfxml_parse.c +++ b/src/surf/surfxml_parse.c @@ -25,16 +25,20 @@ static void surf_parse_error(char *msg) { xbt_die("Parse error on line %d: %s\n", surf_parse_lineno, msg); } -void surf_parse_get_double(double *value, const char *string) { - int ret = sscanf(string, "%lg", value); +double surf_parse_get_double(const char *string) { + double res; + int ret = sscanf(string, "%lg", &res); if (ret != 1) surf_parse_error(bprintf("%s is not a double", string)); + return res; } -void surf_parse_get_int(int *value, const char *string) { - int ret = sscanf(string, "%d", value); +int surf_parse_get_int(const char *string) { + int res; + int ret = sscanf(string, "%d", &res); if (ret != 1) surf_parse_error(bprintf("%s is not an integer", string)); + return res; } @@ -264,8 +268,7 @@ void surf_parse_free_callbacks(void) void STag_surfxml_platform(void) { - double version; - surf_parse_get_double(&version, A_surfxml_platform_version); + double version = surf_parse_get_double(A_surfxml_platform_version); xbt_assert((version >= 1.0), "******* BIG FAT WARNING *********\n " "You're using an ancient XML file.\n" @@ -298,8 +301,8 @@ void STag_surfxml_host(void){ host.V_host_id = xbt_strdup(A_surfxml_host_id); host.V_host_power_peak = get_cpu_power(A_surfxml_host_power); - surf_parse_get_double(&(host.V_host_power_scale), A_surfxml_host_availability); - surf_parse_get_int(&(host.V_host_core),A_surfxml_host_core); + host.V_host_power_scale = surf_parse_get_double( A_surfxml_host_availability); + host.V_host_core = surf_parse_get_int(A_surfxml_host_core); host.V_host_power_trace = tmgr_trace_new(A_surfxml_host_availability_file); host.V_host_state_trace = tmgr_trace_new(A_surfxml_host_state_file); xbt_assert((A_surfxml_host_state == A_surfxml_host_state_ON) || @@ -346,14 +349,14 @@ void STag_surfxml_cluster(void){ struct_cluster->V_cluster_prefix = xbt_strdup(A_surfxml_cluster_prefix); struct_cluster->V_cluster_suffix = xbt_strdup(A_surfxml_cluster_suffix); struct_cluster->V_cluster_radical = xbt_strdup(A_surfxml_cluster_radical); - surf_parse_get_double(&struct_cluster->S_cluster_power,A_surfxml_cluster_power); - surf_parse_get_int(&struct_cluster->S_cluster_core,A_surfxml_cluster_core); - surf_parse_get_double(&struct_cluster->S_cluster_bw,A_surfxml_cluster_bw); - surf_parse_get_double(&struct_cluster->S_cluster_lat,A_surfxml_cluster_lat); + struct_cluster->S_cluster_power= surf_parse_get_double(A_surfxml_cluster_power); + struct_cluster->S_cluster_core = surf_parse_get_int(A_surfxml_cluster_core); + struct_cluster->S_cluster_bw = surf_parse_get_double(A_surfxml_cluster_bw); + struct_cluster->S_cluster_lat = surf_parse_get_double(A_surfxml_cluster_lat); if(strcmp(A_surfxml_cluster_bb_bw,"")) - surf_parse_get_double(&struct_cluster->S_cluster_bb_bw,A_surfxml_cluster_bb_bw); + struct_cluster->S_cluster_bb_bw = surf_parse_get_double(A_surfxml_cluster_bb_bw); if(strcmp(A_surfxml_cluster_bb_lat,"")) - surf_parse_get_double(&struct_cluster->S_cluster_bb_lat,A_surfxml_cluster_bb_lat); + struct_cluster->S_cluster_bb_lat = surf_parse_get_double(A_surfxml_cluster_bb_lat); if(!strcmp(A_surfxml_cluster_router_id,"")) struct_cluster->S_cluster_router_id = bprintf("%s%s_router%s", struct_cluster->V_cluster_prefix, @@ -409,9 +412,9 @@ void ETag_surfxml_peer(void){ void STag_surfxml_link(void){ struct_lnk = xbt_new0(s_surf_parsing_link_arg_t, 1); struct_lnk->V_link_id = xbt_strdup(A_surfxml_link_id); - surf_parse_get_double(&(struct_lnk->V_link_bandwidth),A_surfxml_link_bandwidth); + struct_lnk->V_link_bandwidth = surf_parse_get_double(A_surfxml_link_bandwidth); struct_lnk->V_link_bandwidth_file = tmgr_trace_new(A_surfxml_link_bandwidth_file); - surf_parse_get_double(&(struct_lnk->V_link_latency),A_surfxml_link_latency); + struct_lnk->V_link_latency = surf_parse_get_double(A_surfxml_link_latency); struct_lnk->V_link_latency_file = tmgr_trace_new(A_surfxml_link_latency_file); xbt_assert((A_surfxml_link_state == A_surfxml_link_state_ON) || (A_surfxml_link_state == A_surfxml_link_state_OFF), "Invalid state"); @@ -653,7 +656,7 @@ double get_cpu_power(const char *power) power_scale = random_generate(random); } } else { - surf_parse_get_double(&power_scale, power); + power_scale = surf_parse_get_double(power); } return power_scale; } @@ -665,11 +668,10 @@ char *random_id; static void init_randomness(void) { random_id = A_surfxml_random_id; - surf_parse_get_double(&random_min, A_surfxml_random_min); - surf_parse_get_double(&random_max, A_surfxml_random_max); - surf_parse_get_double(&random_mean, A_surfxml_random_mean); - surf_parse_get_double(&random_std_deviation, - A_surfxml_random_std_deviation); + random_min = surf_parse_get_double(A_surfxml_random_min); + random_max = surf_parse_get_double(A_surfxml_random_max); + random_mean = surf_parse_get_double(A_surfxml_random_mean); + random_std_deviation = surf_parse_get_double(A_surfxml_random_std_deviation); random_generator = A_surfxml_random_generator; } diff --git a/src/surf/surfxml_parseplatf.c b/src/surf/surfxml_parseplatf.c index 9cfd8ea2c0..312d1001d1 100644 --- a/src/surf/surfxml_parseplatf.c +++ b/src/surf/surfxml_parseplatf.c @@ -78,7 +78,7 @@ static void parse_Stag_trace(void) { trace_id = xbt_strdup(A_surfxml_trace_id); trace_file = xbt_strdup(A_surfxml_trace_file); - surf_parse_get_double(&trace_periodicity, A_surfxml_trace_periodicity); + trace_periodicity = surf_parse_get_double(A_surfxml_trace_periodicity); } static void parse_Etag_trace(void) diff --git a/src/xbt/graph.c b/src/xbt/graph.c index 14ed08dc52..3d7cfcaf67 100644 --- a/src/xbt/graph.c +++ b/src/xbt/graph.c @@ -578,10 +578,8 @@ static void __parse_node(void) if (__parse_node_label_and_data) node->data = __parse_node_label_and_data(node, A_graphxml_node_label, A_graphxml_node_data); - xbt_graph_parse_get_double(&(node->position_x), - A_graphxml_node_position_x); - xbt_graph_parse_get_double(&(node->position_y), - A_graphxml_node_position_y); + node->position_x = xbt_graph_parse_get_double(A_graphxml_node_position_x); + node->position_y = xbt_graph_parse_get_double(A_graphxml_node_position_y); xbt_dict_set(parsed_nodes, A_graphxml_node_name, (void *) node, NULL); } @@ -599,7 +597,7 @@ static void __parse_edge(void) edge->data = __parse_edge_label_and_data(edge, A_graphxml_edge_label, A_graphxml_edge_data); - xbt_graph_parse_get_double(&(edge->length), A_graphxml_edge_length); + edge->length = xbt_graph_parse_get_double(A_graphxml_edge_length); XBT_DEBUG("", (char *) (edge->src)->data, diff --git a/src/xbt/graphxml_parse.c b/src/xbt/graphxml_parse.c index 34ada6c954..a0af57e86c 100644 --- a/src/xbt/graphxml_parse.c +++ b/src/xbt/graphxml_parse.c @@ -122,11 +122,13 @@ static int _xbt_graph_parse(void) int_f_void_t xbt_graph_parse = _xbt_graph_parse; -void xbt_graph_parse_get_double(double *value, const char *string) +double xbt_graph_parse_get_double(const char *string) { + double result; int ret = 0; - ret = sscanf(string, "%lg", value); + ret = sscanf(string, "%lg", &result); xbt_assert((ret == 1), "Parse error line %d : %s not a number", xbt_graph_parse_lineno, string); + return result; } -- 2.20.1