Commit 5d953184 authored by Stefan Krah's avatar Stefan Krah

Issue #14779: Get sizeof(void *) directly rather than relying on sysconfig.

parent e34a2095
...@@ -747,10 +747,8 @@ if SHORT_TEST: ...@@ -747,10 +747,8 @@ if SHORT_TEST:
class TestBufferProtocol(unittest.TestCase): class TestBufferProtocol(unittest.TestCase):
def setUp(self): def setUp(self):
self.sizeof_void_p = get_config_var('SIZEOF_VOID_P') \ # The suboffsets tests need sizeof(void *).
if sys.platform != 'darwin' else None self.sizeof_void_p = get_sizeof_void_p()
if not self.sizeof_void_p:
self.sizeof_void_p = 8 if sys.maxsize > 2**32 else 4
def verify(self, result, obj=-1, def verify(self, result, obj=-1,
itemsize={1}, fmt=-1, readonly={1}, itemsize={1}, fmt=-1, readonly={1},
......
...@@ -2337,6 +2337,12 @@ out: ...@@ -2337,6 +2337,12 @@ out:
return ret; return ret;
} }
static PyObject *
get_sizeof_void_p(PyObject *self)
{
return PyLong_FromSize_t(sizeof(void *));
}
static char static char
get_ascii_order(PyObject *order) get_ascii_order(PyObject *order)
{ {
...@@ -2726,6 +2732,7 @@ static PyTypeObject StaticArray_Type = { ...@@ -2726,6 +2732,7 @@ static PyTypeObject StaticArray_Type = {
static struct PyMethodDef _testbuffer_functions[] = { static struct PyMethodDef _testbuffer_functions[] = {
{"slice_indices", slice_indices, METH_VARARGS, NULL}, {"slice_indices", slice_indices, METH_VARARGS, NULL},
{"get_pointer", get_pointer, METH_VARARGS, NULL}, {"get_pointer", get_pointer, METH_VARARGS, NULL},
{"get_sizeof_void_p", (PyCFunction)get_sizeof_void_p, METH_NOARGS, NULL},
{"get_contiguous", get_contiguous, METH_VARARGS, NULL}, {"get_contiguous", get_contiguous, METH_VARARGS, NULL},
{"is_contiguous", is_contiguous, METH_VARARGS, NULL}, {"is_contiguous", is_contiguous, METH_VARARGS, NULL},
{"cmp_contig", cmp_contig, METH_VARARGS, NULL}, {"cmp_contig", cmp_contig, METH_VARARGS, NULL},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment