]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani.mdc
oceani: implement struct field initialisation properly.
[ocean] / csrc / oceani.mdc
index 18e593065705ea6324a6ddf68250142df4ec3d72..416084e26512c613ec287d70feaa85a8ad65e0e6 100644 (file)
@@ -1758,7 +1758,12 @@ function will be needed.
                for (i = 0; i < type->structure.nfields; i++) {
                        struct value *v;
                        v = (void*) val->ptr + type->structure.fields[i].offset;
-                       val_init(type->structure.fields[i].type, v);
+                       if (type->structure.fields[i].init)
+                               dup_value(type->structure.fields[i].type, 
+                                         type->structure.fields[i].init,
+                                         v);
+                       else
+                               val_init(type->structure.fields[i].type, v);
                }
        }