From: mquinson Date: Wed, 2 Aug 2006 14:01:33 +0000 (+0000) Subject: Make sure that mod won't go undefined when an exception is raised, and make the check... X-Git-Tag: v3.3~2681 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/4ba5420c448464cde2bf38435d24c2655a865f76 Make sure that mod won't go undefined when an exception is raised, and make the checks a bit more explicit when they fails git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2678 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/gras/Virtu/gras_module.c b/src/gras/Virtu/gras_module.c index a9b49b7ddd..5943d16bc8 100644 --- a/src/gras/Virtu/gras_module.c +++ b/src/gras/Virtu/gras_module.c @@ -108,7 +108,7 @@ static void gras_module_freep(void *p) { void gras_module_add(const char *name, unsigned int datasize, int *ID, void_f_void_t *init_f, void_f_void_t *exit_f, void_f_pvoid_t *join_f, void_f_pvoid_t *leave_f) { - gras_module_t mod; + gras_module_t mod=NULL; xbt_ex_t e; int found = 0; @@ -125,12 +125,12 @@ void gras_module_add(const char *name, unsigned int datasize, int *ID, } if (found) { - xbt_assert(mod->init_f == init_f); - xbt_assert(mod->exit_f == exit_f); - xbt_assert(mod->join_f == join_f); - xbt_assert(mod->leave_f == leave_f); - xbt_assert(mod->datasize == datasize); - xbt_assert(mod->p_id == ID); + xbt_assert1(mod->init_f == init_f, "Module %s reregistered with a different init_f!", name); + xbt_assert1(mod->exit_f == exit_f, "Module %s reregistered with a different exit_f!", name); + xbt_assert1(mod->join_f == join_f, "Module %s reregistered with a different join_f!", name); + xbt_assert1(mod->leave_f == leave_f, "Module %s reregistered with a different leave_f!", name); + xbt_assert1(mod->datasize == datasize, "Module %s reregistered with a different datasize!", name); + xbt_assert1(mod->p_id == ID, "Module %s reregistered with a different p_id field!", name); DEBUG1("Module %s already registered. Ignoring re-registration",name); return;