From: mquinson Date: Wed, 18 Aug 2004 19:21:33 +0000 (+0000) Subject: Interface cleanup: msgtype_by_name return the searched type (or NULL if not found) X-Git-Tag: v3.3~4968 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/208debc0db79d1901a4655d3015218bb4700cd8c Interface cleanup: msgtype_by_name return the searched type (or NULL if not found) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@382 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/include/gras/messages.h b/include/gras/messages.h index ca644b1a20..ebe905999d 100644 --- a/include/gras/messages.h +++ b/include/gras/messages.h @@ -44,12 +44,9 @@ gras_error_t gras_msgtype_declare_v(const char *name, short int version, gras_datadesc_type_t *payload); -gras_error_t gras_msgtype_by_name (const char *name, - gras_msgtype_t **dst); -gras_error_t gras_msgtype_by_namev(const char *name, - short int version, - gras_msgtype_t **dst); - +gras_msgtype_t *gras_msgtype_by_name (const char *name); +gras_msgtype_t *gras_msgtype_by_namev(const char *name, + short int version); /** * gras_cb_t: diff --git a/src/gras/Msg/msg.c b/src/gras/Msg/msg.c index 998f1f1630..23ceb57b3c 100644 --- a/src/gras/Msg/msg.c +++ b/src/gras/Msg/msg.c @@ -161,30 +161,29 @@ gras_msgtype_declare_v(const char *name, * * Retrieve a datatype description from its name */ -gras_error_t -gras_msgtype_by_name (const char *name, - gras_msgtype_t **dst) { - return gras_msgtype_by_namev(name,0,dst); +gras_msgtype_t * gras_msgtype_by_name (const char *name) { + return gras_msgtype_by_namev(name,0); } /** * gras_msgtype_by_namev: * * Retrieve a datatype description from its name and version */ -gras_error_t -gras_msgtype_by_namev(const char *name, - short int version, - gras_msgtype_t **dst) { +gras_msgtype_t * gras_msgtype_by_namev(const char *name, + short int version) { + gras_msgtype_t *res; gras_error_t errcode; char *namev = make_namev(name,version); errcode = gras_set_get_by_name(_gras_msgtype_set, namev, - (gras_set_elm_t**)dst); + (gras_set_elm_t**)&res); + if (errcode != no_error) + res = NULL; if (name != namev) free(namev); - - return errcode; + + return res; } /** @@ -199,6 +198,11 @@ gras_msg_send(gras_socket_t *sock, gras_error_t errcode; static gras_datadesc_type_t *string_type=NULL; + + if (!msgtype) + RAISE0(mismatch_error, + "Cannot send the NULL message (did msgtype_by_name fail?)"); + if (!string_type) { string_type = gras_datadesc_by_name("string"); gras_assert(string_type); @@ -298,6 +302,10 @@ gras_msg_wait(double timeout, *expeditor = NULL; payload_got = NULL; + if (!msgt_want) + RAISE0(mismatch_error, + "Cannot wait for the NULL message (did msgtype_by_name fail?)"); + VERB1("Waiting for message %s",msgt_want->name); start = now = gras_os_time();