if (e.category != not_found_error)
RETHROW;
reference_is_to_cpy = 1;
- xbt_ex_free(e);
+ xbt_ex_free(&e);
}
if (reference_is_to_cpy) {
case e_gras_datadesc_type_cat_array: {
gras_dd_cat_array_t array_data;
- long int count;
+ long int array_count;
char *src_ptr=src;
char *dst_ptr=dst;
long int elm_size;
array_data = type->category.array_data;
/* determine and send the element count */
- count = array_data.fixed_size;
- if (count == 0)
- count = subsize;
- if (count == 0) {
- count = array_data.dynamic_size(type,state,src);
- xbt_assert1(count >=0,
+ array_count = array_data.fixed_size;
+ if (array_count == 0)
+ array_count = subsize;
+ if (array_count == 0) {
+ array_count = array_data.dynamic_size(type,state,src);
+ xbt_assert1(array_count >=0,
"Invalid (negative) array size for type %s",type->name);
}
sub_type = array_data.type;
elm_size = sub_type->aligned_size[GRAS_THISARCH];
if (sub_type->category_code == e_gras_datadesc_type_cat_scalar) {
- VERB1("Array of %ld scalars, copy it in one shot",count);
- memcpy(dst, src, sub_type->aligned_size[GRAS_THISARCH] * count);
- count += sub_type->aligned_size[GRAS_THISARCH] * count;
+ VERB1("Array of %ld scalars, copy it in one shot",array_count);
+ memcpy(dst, src, sub_type->aligned_size[GRAS_THISARCH] * array_count);
+ count += sub_type->aligned_size[GRAS_THISARCH] * array_count;
} else if (sub_type->category_code == e_gras_datadesc_type_cat_array &&
sub_type->category.array_data.fixed_size > 0 &&
sub_type->category.array_data.type->category_code == e_gras_datadesc_type_cat_scalar) {
- VERB1("Array of %ld fixed array of scalars, copy it in one shot",count);
+ VERB1("Array of %ld fixed array of scalars, copy it in one shot",
+ array_count);
memcpy(dst,src,sub_type->category.array_data.type->aligned_size[GRAS_THISARCH]
- * count * sub_type->category.array_data.fixed_size);
+ * array_count * sub_type->category.array_data.fixed_size);
count += sub_type->category.array_data.type->aligned_size[GRAS_THISARCH]
- * count * sub_type->category.array_data.fixed_size;
+ * array_count * sub_type->category.array_data.fixed_size;
} else {
- for (cpt=0; cpt<count; cpt++) {
+ VERB1("Array of %ld stuff, copy it in one after the other",array_count);
+ for (cpt=0; cpt<array_count; cpt++) {
+ VERB2("Copy the %dth stuff out of %ld",cpt,array_count);
count += gras_datadesc_copy_rec(state,refs, sub_type, src_ptr, dst_ptr, 0,
detect_cycle || sub_type->cycle);
src_ptr += elm_size;
VERB2("Send a %s (%s)",
type->name, gras_datadesc_cat_names[type->category_code]);
+ if (!strcmp(type->name,"string"))
+ VERB1("value: '%s'",*(char**)data);
+
if (type->send) {
type->send(type,state,data);
+ DEBUG0("Run the emission callback");
}
switch (type->category_code) {
sub_type = field->type;
- if (field->send)
+ if (field->send) {
+ DEBUG1("Run the emission callback of field %s", field->name);
field->send(type,state,field_data);
+ }
VERB1("Send field %s",field->name);
gras_datadesc_send_rec(sock,state,refs,sub_type, field_data,
if (e.category != not_found_error)
RETHROW;
reference_is_to_send = 1;
- xbt_ex_free(e);
+ xbt_ex_free(&e);
}
if (reference_is_to_send) {
field_data,-1,
detect_cycle || sub_type->cycle);
- if (field->recv)
+ if (field->recv) {
+ DEBUG1("Run the reception callback of field %s", field->name);
field->recv(type,state,(void*)l_data);
+ }
}
VERB1("<< Received all fields of the structure %s", type->name);
if (e.category != not_found_error)
RETHROW;
reference_is_to_recv = 1;
- xbt_ex_free(e);
+ xbt_ex_free(&e);
}
if (reference_is_to_recv) {
int subsubcount = 0;
if (type->recv)
type->recv(type,state,l_data);
+ if (!strcmp(type->name,"string"))
+ VERB1("value: '%s'",*(char**)l_data);
+
}
/**