@@ -127,6 +127,7 @@ bytes(cdata)
127
127
#include "ctypes.h"
128
128
129
129
#include "pycore_long.h" // _PyLong_GetZero()
130
+ #include "pycore_abstract.h" // _PY_BUFFER_MUTABLE_BUFFER_GETSET
130
131
131
132
PyObject * PyExc_ArgError = NULL ;
132
133
@@ -2809,6 +2810,11 @@ static PyBufferProcs PyCData_as_buffer = {
2809
2810
NULL ,
2810
2811
};
2811
2812
2813
+ static PyGetSetDef PyCData_getset [] = {
2814
+ _PY_BUFFER_MUTABLE_BUFFER_GETSET
2815
+ {NULL }
2816
+ };
2817
+
2812
2818
/*
2813
2819
* CData objects are mutable, so they cannot be hashable!
2814
2820
*/
@@ -2918,7 +2924,7 @@ PyTypeObject PyCData_Type = {
2918
2924
0 , /* tp_iternext */
2919
2925
PyCData_methods , /* tp_methods */
2920
2926
PyCData_members , /* tp_members */
2921
- 0 , /* tp_getset */
2927
+ PyCData_getset , /* tp_getset */
2922
2928
0 , /* tp_base */
2923
2929
0 , /* tp_dict */
2924
2930
0 , /* tp_descr_get */
@@ -3342,6 +3348,7 @@ static PyGetSetDef PyCFuncPtr_getsets[] = {
3342
3348
{ "argtypes" , (getter )PyCFuncPtr_get_argtypes ,
3343
3349
(setter )PyCFuncPtr_set_argtypes ,
3344
3350
"specify the argument types" , NULL },
3351
+ _PY_BUFFER_MUTABLE_BUFFER_GETSET
3345
3352
{ NULL , NULL }
3346
3353
};
3347
3354
@@ -4468,7 +4475,7 @@ static PyTypeObject Struct_Type = {
4468
4475
0 , /* tp_iternext */
4469
4476
0 , /* tp_methods */
4470
4477
0 , /* tp_members */
4471
- 0 , /* tp_getset */
4478
+ PyCData_getset , /* tp_getset */
4472
4479
0 , /* tp_base */
4473
4480
0 , /* tp_dict */
4474
4481
0 , /* tp_descr_get */
@@ -4510,7 +4517,7 @@ static PyTypeObject Union_Type = {
4510
4517
0 , /* tp_iternext */
4511
4518
0 , /* tp_methods */
4512
4519
0 , /* tp_members */
4513
- 0 , /* tp_getset */
4520
+ PyCData_getset , /* tp_getset */
4514
4521
0 , /* tp_base */
4515
4522
0 , /* tp_dict */
4516
4523
0 , /* tp_descr_get */
@@ -4830,7 +4837,7 @@ PyTypeObject PyCArray_Type = {
4830
4837
0 , /* tp_iternext */
4831
4838
Array_methods , /* tp_methods */
4832
4839
0 , /* tp_members */
4833
- 0 , /* tp_getset */
4840
+ PyCData_getset , /* tp_getset */
4834
4841
0 , /* tp_base */
4835
4842
0 , /* tp_dict */
4836
4843
0 , /* tp_descr_get */
@@ -4961,6 +4968,7 @@ Simple_get_value(CDataObject *self, void *Py_UNUSED(ignored))
4961
4968
static PyGetSetDef Simple_getsets [] = {
4962
4969
{ "value" , (getter )Simple_get_value , (setter )Simple_set_value ,
4963
4970
"current value" , NULL },
4971
+ _PY_BUFFER_MUTABLE_BUFFER_GETSET
4964
4972
{ NULL , NULL }
4965
4973
};
4966
4974
@@ -5204,6 +5212,7 @@ static PyGetSetDef Pointer_getsets[] = {
5204
5212
{ "contents" , (getter )Pointer_get_contents ,
5205
5213
(setter )Pointer_set_contents ,
5206
5214
"the object this pointer points to (read-write)" , NULL },
5215
+ _PY_BUFFER_MUTABLE_BUFFER_GETSET
5207
5216
{ NULL , NULL }
5208
5217
};
5209
5218
0 commit comments