- fsrc->struct_begin(src, struct_declaration);
- fdest->struct_begin(dest, struct_declaration);
-
- for (i = 0; i < _struct->fields->len; i++) {
- struct field *field = &g_array_index(_struct->fields,
- struct field, i);
- struct declaration *field_declaration = field->definition->declaration;
-
- field_declaration->copy(dest, fdest, src, fsrc, field->definition);
-
+ for (i = 0; i < struct_definition->fields->len; i++) {
+ struct definition *field =
+ g_ptr_array_index(struct_definition->fields, i);
+ ret = generic_rw(ppos, field);
+ if (ret)
+ return ret;