From be21c42114147f87061a220ee130384f20b654c2 Mon Sep 17 00:00:00 2001 From: Travis Oliphant Date: Thu, 29 May 2008 15:15:45 +0000 Subject: Use memmove when memory areas can overlap. --- numpy/core/src/ufuncobject.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'numpy/core/src/ufuncobject.c') diff --git a/numpy/core/src/ufuncobject.c b/numpy/core/src/ufuncobject.c index a3b1a58a4..b07e693f2 100644 --- a/numpy/core/src/ufuncobject.c +++ b/numpy/core/src/ufuncobject.c @@ -2742,7 +2742,7 @@ PyUFunc_Accumulate(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out, while(loop->index < loop->size) { if (loop->obj) Py_INCREF(*((PyObject **)loop->it->dataptr)); - memcpy(loop->bufptr[0], loop->it->dataptr, + memmove(loop->bufptr[0], loop->it->dataptr, loop->outsize); PyArray_ITER_NEXT(loop->it); loop->bufptr[0] += loop->outsize; @@ -2755,7 +2755,7 @@ PyUFunc_Accumulate(PyUFuncObject *self, PyArrayObject *arr, PyArrayObject *out, /* Copy first element to output */ if (loop->obj) Py_INCREF(*((PyObject **)loop->it->dataptr)); - memcpy(loop->bufptr[0], loop->it->dataptr, + memmove(loop->bufptr[0], loop->it->dataptr, loop->outsize); /* Adjust input pointer */ loop->bufptr[1] = loop->it->dataptr+loop->steps[1]; -- cgit v1.2.1