summaryrefslogtreecommitdiffstats
path: root/otherlibs/bigarray/bigarray_stubs.c
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2001-10-02 15:13:00 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2001-10-02 15:13:00 +0000
commit048928bc6e2729484dbefb6131709c635d4d4dc1 (patch)
tree9f2b73abd7e8c6ba025d735473c1b0ff651ea454 /otherlibs/bigarray/bigarray_stubs.c
parent0f7d388a1085802976bb07ee27f47c823415ef7a (diff)
Bug dans le marshaling: lorsqu'on relit le bigarray, il est forcement MANAGED et sans proxy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/bigarray/bigarray_stubs.c')
-rw-r--r--otherlibs/bigarray/bigarray_stubs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/otherlibs/bigarray/bigarray_stubs.c b/otherlibs/bigarray/bigarray_stubs.c
index 5d22e41d9..fe94353ec 100644
--- a/otherlibs/bigarray/bigarray_stubs.c
+++ b/otherlibs/bigarray/bigarray_stubs.c
@@ -581,7 +581,7 @@ static void bigarray_serialize(value v,
/* Serialize header information */
serialize_int_4(b->num_dims);
- serialize_int_4(b->flags);
+ serialize_int_4(b->flags & (BIGARRAY_KIND_MASK | BIGARRAY_LAYOUT_MASK));
for (i = 0; i < b->num_dims; i++) serialize_int_4(b->dim[i]);
/* Compute total number of elements */
num_elts = 1;
@@ -640,7 +640,8 @@ unsigned long bigarray_deserialize(void * dst)
/* Read back header information */
b->num_dims = deserialize_uint_4();
- b->flags = deserialize_uint_4();
+ b->flags = deserialize_uint_4() | BIGARRAY_MANAGED;
+ b->proxy = NULL;
for (i = 0; i < b->num_dims; i++) b->dim[i] = deserialize_uint_4();
/* Compute total number of elements */
num_elts = bigarray_num_elts(b);