summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2010-05-30 16:03:51 +0000
committerCharles Harris <charlesr.harris@gmail.com>2010-05-30 16:03:51 +0000
commitb0c3be18006c9d872c37ffcb3ccf02c89efa7b1c (patch)
treecd39535c6c5f1dbca08862d007d1000cfe5a4997
parent24f36750f0b2db4a63796a88de6a0ad319f2bd8d (diff)
downloadnumpy-b0c3be18006c9d872c37ffcb3ccf02c89efa7b1c.tar.gz
BUG: Don't directly access Python object internals.
-rw-r--r--numpy/core/src/multiarray/scalarapi.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/numpy/core/src/multiarray/scalarapi.c b/numpy/core/src/multiarray/scalarapi.c
index 9362538ed..faec958a9 100644
--- a/numpy/core/src/multiarray/scalarapi.c
+++ b/numpy/core/src/multiarray/scalarapi.c
@@ -371,10 +371,8 @@ PyArray_ScalarFromObject(PyObject *object)
if (ret == NULL) {
return NULL;
}
- PyArrayScalar_VAL(ret, CDouble).real =
- ((PyComplexObject *)object)->cval.real;
- PyArrayScalar_VAL(ret, CDouble).imag =
- ((PyComplexObject *)object)->cval.imag;
+ PyArrayScalar_VAL(ret, CDouble).real = PyComplex_RealAsDouble(object);
+ PyArrayScalar_VAL(ret, CDouble).imag = PyComplex_ImagAsDouble(object);
}
else if (PyLong_Check(object)) {
longlong val;