- msgtype->name = (namev == name ? strdup(name) : namev);
- msgtype->name_len = strlen(namev);
- msgtype->version = version;
- msgtype->ctn_type = payload;
+ if (errcode == no_error) {
+ VERB2("Re-register version %d of message '%s' (same payload, ignored).",
+ version, name);
+ gras_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));
+ } else if (errcode == mismatch_error) {
+ INFO3("Register version %d of message '%s' (payload: %s).",
+ version, name, gras_datadesc_get_name(payload));
+ } else {
+ return errcode; /* Was expecting for mismatch_error */
+ }