diff --git a/Include/abstract.h b/Include/abstract.h index dd58e3f9e54..23990799e79 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -1236,6 +1236,13 @@ PyAPI_FUNC(char *const *) _PySequence_BytesToCharpArray(PyObject* self); PyAPI_FUNC(void) _Py_FreeCharPArray(char *const array[]); +/* For internal use by buffer API functions */ +PyAPI_FUNC(void) _Py_add_one_to_index_F(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); +PyAPI_FUNC(void) _Py_add_one_to_index_C(int nd, Py_ssize_t *index, + const Py_ssize_t *shape); + + #ifdef __cplusplus } #endif diff --git a/Misc/NEWS b/Misc/NEWS index 372b0b3c420..1055165e3bf 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -354,6 +354,9 @@ Tests Build ----- +- Issue #3101: Helper functions _add_one_to_C() and _add_one_to_F() become + _Py_add_one_to_C() and _Py_add_one_to_F(), respectively. + - Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by Sébastien Sablé. diff --git a/Objects/abstract.c b/Objects/abstract.c index d5a5d3c1299..612271da2e5 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -413,7 +413,7 @@ PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices) void -_add_one_to_index_F(int nd, Py_ssize_t *index, Py_ssize_t *shape) +_Py_add_one_to_index_F(int nd, Py_ssize_t *index, const Py_ssize_t *shape) { int k; @@ -429,7 +429,7 @@ _add_one_to_index_F(int nd, Py_ssize_t *index, Py_ssize_t *shape) } void -_add_one_to_index_C(int nd, Py_ssize_t *index, Py_ssize_t *shape) +_Py_add_one_to_index_C(int nd, Py_ssize_t *index, const Py_ssize_t *shape) { int k; @@ -453,7 +453,7 @@ int PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort) { int k; - void (*addone)(int, Py_ssize_t *, Py_ssize_t *); + void (*addone)(int, Py_ssize_t *, const Py_ssize_t *); Py_ssize_t *indices, elements; char *dest, *ptr; @@ -480,10 +480,10 @@ PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort) } if (fort == 'F') { - addone = _add_one_to_index_F; + addone = _Py_add_one_to_index_F; } else { - addone = _add_one_to_index_C; + addone = _Py_add_one_to_index_C; } dest = buf; /* XXX : This is not going to be the fastest code in the world @@ -504,7 +504,7 @@ int PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort) { int k; - void (*addone)(int, Py_ssize_t *, Py_ssize_t *); + void (*addone)(int, Py_ssize_t *, const Py_ssize_t *); Py_ssize_t *indices, elements; char *src, *ptr; @@ -531,10 +531,10 @@ PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort) } if (fort == 'F') { - addone = _add_one_to_index_F; + addone = _Py_add_one_to_index_F; } else { - addone = _add_one_to_index_C; + addone = _Py_add_one_to_index_C; } src = buf; /* XXX : This is not going to be the fastest code in the world @@ -611,7 +611,7 @@ int PyObject_CopyData(PyObject *dest, PyObject *src) elements *= view_src.shape[k]; } while (elements--) { - _add_one_to_index_C(view_src.ndim, indices, view_src.shape); + _Py_add_one_to_index_C(view_src.ndim, indices, view_src.shape); dptr = PyBuffer_GetPointer(&view_dest, indices); sptr = PyBuffer_GetPointer(&view_src, indices); memcpy(dptr, sptr, view_src.itemsize); diff --git a/Objects/memoryobject.c b/Objects/memoryobject.c index 70ae6ccea0c..9a62dd84bd6 100644 --- a/Objects/memoryobject.c +++ b/Objects/memoryobject.c @@ -172,9 +172,6 @@ _strided_copy_nd(char *dest, char *src, int nd, Py_ssize_t *shape, return; } -void _add_one_to_index_F(int nd, Py_ssize_t *index, Py_ssize_t *shape); -void _add_one_to_index_C(int nd, Py_ssize_t *index, Py_ssize_t *shape); - static int _indirect_copy_nd(char *dest, Py_buffer *view, char fort) { @@ -203,10 +200,10 @@ _indirect_copy_nd(char *dest, Py_buffer *view, char fort) elements *= view->shape[k]; } if (fort == 'F') { - func = _add_one_to_index_F; + func = _Py_add_one_to_index_F; } else { - func = _add_one_to_index_C; + func = _Py_add_one_to_index_C; } while (elements--) { func(view->ndim, indices, view->shape);