From f0995b54db038fa8e1ecfecf51c2519e48e10043 Mon Sep 17 00:00:00 2001 From: Travis Oliphant Date: Tue, 13 Dec 2005 05:33:13 +0000 Subject: Fixed array pickle to handle subclasses. --- scipy/base/src/arraymethods.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'scipy/base/src/arraymethods.c') diff --git a/scipy/base/src/arraymethods.c b/scipy/base/src/arraymethods.c index 0cca98896..089aedf23 100644 --- a/scipy/base/src/arraymethods.c +++ b/scipy/base/src/arraymethods.c @@ -863,19 +863,18 @@ array_reduce(PyArrayObject *self, PyObject *args) ret = PyTuple_New(3); if (ret == NULL) return NULL; - mod = PyImport_ImportModule("scipy.base.multiarray"); + mod = PyImport_ImportModule("scipy.base._internal"); if (mod == NULL) {Py_DECREF(ret); return NULL;} - obj = PyObject_GetAttrString(mod, "empty"); + obj = PyObject_GetAttrString(mod, "_reconstruct"); Py_DECREF(mod); - if (obj == NULL) {Py_DECREF(ret); return NULL;} PyTuple_SET_ITEM(ret, 0, obj); PyTuple_SET_ITEM(ret, 1, - Py_BuildValue("NNN", + Py_BuildValue("ONN", + (PyObject *)self->ob_type, Py_BuildValue("(N)", PyInt_FromLong(0)), PyObject_GetAttrString((PyObject *)self, - "dtypechar"), - PyInt_FromLong((long) self->descr->elsize))); + "dtypechar"))); /* Now fill in object's state. This is a tuple with 4 arguments -- cgit v1.2.1