From 688697437ee29632f93998b1d41fcc0f8cb9faee Mon Sep 17 00:00:00 2001 From: thiery Date: Tue, 20 Jun 2006 07:06:05 +0000 Subject: [PATCH 1/1] Fix function get_route git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2399 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/include/surf/surf.h | 4 ++-- src/surf/network.c | 2 +- src/surf/network_dassf.c | 2 +- src/surf/workstation.c | 2 +- src/surf/workstation_KCCFLN05.c | 13 ++++++------- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index eede32a964..893a87ef04 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -130,7 +130,7 @@ void surf_cpu_resource_init_Cas01(const char *filename); typedef struct surf_network_resource_extension_public { surf_action_t(*communicate) (void *src, void *dst, double size, double max_rate); - void* (*get_route) (void *src, void *dst); + const void** (*get_route) (void *src, void *dst); } s_surf_network_resource_extension_public_t, *surf_network_resource_extension_public_t; @@ -160,7 +160,7 @@ typedef struct surf_workstation_resource_extension_public { double *communication_amount, double amount, double rate); - void* (*get_route) (void *src, void *dst); + const void** (*get_route) (void *src, void *dst); } s_surf_workstation_resource_extension_public_t, *surf_workstation_resource_extension_public_t; diff --git a/src/surf/network.c b/src/surf/network.c index edb762e6ec..99b301fe6a 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -458,7 +458,7 @@ static surf_action_t communicate(void *src, void *dst, double size, double rate) return (surf_action_t) action; } -static void* get_route(void *src, void *dst) { +static const void** get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/network_dassf.c b/src/surf/network_dassf.c index 553d851085..1a4651f2d6 100644 --- a/src/surf/network_dassf.c +++ b/src/surf/network_dassf.c @@ -410,7 +410,7 @@ static surf_action_t communicate(void *src, void *dst, double size, double rate) return (surf_action_t) action; } -static void* get_route(void *src, void *dst) { +static const void** get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/workstation.c b/src/surf/workstation.c index 2c0e553bd2..f55900372f 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -387,7 +387,7 @@ static surf_action_t execute_parallel_task (int workstation_nb, return (surf_action_t) action; } -static void* get_route(void *src, void *dst) { +static const void** get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/workstation_KCCFLN05.c b/src/surf/workstation_KCCFLN05.c index 1c3288c74a..c91ad04542 100644 --- a/src/surf/workstation_KCCFLN05.c +++ b/src/surf/workstation_KCCFLN05.c @@ -560,19 +560,18 @@ static surf_action_t execute_parallel_task(int cpu_nb, return NULL; } -static void* get_route(void *src, void *dst) { - /* TODO: return a NULL-terminated array of network_link_KCCFLN05_t */ - +/* returns a NULL-terminated array of network_link_KCCFLN05_t */ +static const void** get_route(void *src, void *dst) { cpu_KCCFLN05_t card_src = src; cpu_KCCFLN05_t card_dst = dst; route_KCCFLN05_t route = &(ROUTE(card_src->id, card_dst->id)); int route_size = route->size; - network_link_KCCFLN05_t *link_list = route->links; - link_list = xbt_realloc(link_list, (route_size+1) * sizeof(route_KCCFLN05_t)); - link_list[route_size] = NULL; + /* add NULL at the end of the array if not present */ + route->links = xbt_realloc(route->links, (route_size+1) * sizeof(route_KCCFLN05_t)); + route->links[route_size] = NULL; - return link_list; + return (const void**) route->links; } /**************************************/ -- 2.20.1