+ if (errcode == no_error) {
+ VERB2("Re-register version %d of message '%s' (same payload, ignored).",
+ version, name);
+ xbt_assert3(!gras_datadesc_type_cmp(msgtype->ctn_type, payload),
+ "Message %s re-registred with another payload (%s was %s)",
+ namev,gras_datadesc_get_name(payload),
+ gras_datadesc_get_name(msgtype->ctn_type));
+
+ return ; /* do really ignore it */
+
+ }
+ xbt_assert_error(mismatch_error); /* expect this error */
+ VERB3("Register version %d of message '%s' (payload: %s).",
+ version, name, gras_datadesc_get_name(payload));
+
+ msgtype = xbt_new(s_gras_msgtype_t,1);
+ msgtype->name = (namev == name ? strdup(name) : namev);
+ msgtype->name_len = strlen(namev);
+ msgtype->version = version;
+ msgtype->ctn_type = payload;
+
+ xbt_set_add(_gras_msgtype_set, (xbt_set_elm_t)msgtype,
+ &gras_msgtype_free);