git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1421
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
TRY(gras_trp_chunk_send(sock, GRAS_header, 6));
TRY(gras_datadesc_send(sock, string_type, &msgtype->name));
TRY(gras_trp_chunk_send(sock, GRAS_header, 6));
TRY(gras_datadesc_send(sock, string_type, &msgtype->name));
- TRY(gras_datadesc_send(sock, msgtype->ctn_type, payload));
+ if (msgtype->ctn_type)
+ TRY(gras_datadesc_send(sock, msgtype->ctn_type, payload));
TRY(gras_trp_flush(sock));
return no_error;
TRY(gras_trp_flush(sock));
return no_error;
/* FIXME: Survive unknown messages */
free(msg_name);
/* FIXME: Survive unknown messages */
free(msg_name);
- *payload_size=gras_datadesc_size((*msgtype)->ctn_type);
- xbt_assert2(*payload_size > 0,
- "%s %s",
- "Dynamic array as payload is forbided for now (FIXME?).",
- "Reference to dynamic array is allowed.");
- *payload = xbt_malloc(*payload_size);
- TRY(gras_datadesc_recv(sock, (*msgtype)->ctn_type, r_arch, *payload));
-
+ if ((*msgtype)->ctn_type) {
+ *payload_size=gras_datadesc_size((*msgtype)->ctn_type);
+ xbt_assert2(*payload_size > 0,
+ "%s %s",
+ "Dynamic array as payload is forbided for now (FIXME?).",
+ "Reference to dynamic array is allowed.");
+ *payload = xbt_malloc(*payload_size);
+ TRY(gras_datadesc_recv(sock, (*msgtype)->ctn_type, r_arch, *payload));
+ } else {
+ *payload = NULL;
+ *payload_size = 0;
+ }