@@ -37,7 +37,7 @@ struct arraydescr {
3737 char typecode ;
3838 int itemsize ;
3939 PyObject * (* getitem )(char * , Py_ssize_t );
40- int (* setitem )(char * , Py_ssize_t , PyObject * );
40+ int (* setitem )(struct arrayobject * , char * , Py_ssize_t , PyObject * );
4141 int (* compareitems )(const void * , const void * , Py_ssize_t );
4242 const char * formats ;
4343 int is_integer_type ;
@@ -318,7 +318,7 @@ in bounds; that's the responsibility of the caller.
318318*/
319319#define CHECK_ARRAY_BOUNDS (OP , IDX ) \
320320 do { \
321- if ((IDX) >= 0 && ((OP)->ob_item == NULL || \
321+ if ((IDX) >= 0 && ((OP)->data == NULL || \
322322 (IDX) >= Py_SIZE((OP)))) { \
323323 PyErr_SetString(PyExc_IndexError, \
324324 "array assignment index out of range"); \
@@ -328,7 +328,7 @@ in bounds; that's the responsibility of the caller.
328328
329329#define CHECK_ARRAY_BOUNDS_WITH_CLEANUP (OP , IDX , VAL , CLEANUP ) \
330330 do { \
331- if ((IDX) >= 0 && ((OP)->ob_item == NULL || \
331+ if ((IDX) >= 0 && ((OP)->data == NULL || \
332332 (IDX) >= Py_SIZE((OP)))) { \
333333 PyErr_SetString(PyExc_IndexError, \
334334 "array assignment index out of range"); \
@@ -347,7 +347,7 @@ b_getitem(char *items, Py_ssize_t i)
347347}
348348
349349static int
350- b_setitem (char * items , Py_ssize_t i , PyObject * v )
350+ b_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
351351{
352352 short x ;
353353 /* PyArg_Parse's 'b' formatter is for an unsigned char, therefore
@@ -381,7 +381,7 @@ BB_getitem(char *items, Py_ssize_t i)
381381}
382382
383383static int
384- BB_setitem (char * items , Py_ssize_t i , PyObject * v )
384+ BB_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
385385{
386386 unsigned char x ;
387387 /* 'B' == unsigned char, maps to PyArg_Parse's 'b' formatter */
@@ -402,7 +402,7 @@ u_getitem(char *items, Py_ssize_t i)
402402}
403403
404404static int
405- u_setitem (char * items , Py_ssize_t i , PyObject * v )
405+ u_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
406406{
407407 if (!PyUnicode_Check (v )) {
408408 PyErr_Format (PyExc_TypeError ,
@@ -445,7 +445,7 @@ w_getitem(char *items, Py_ssize_t i)
445445}
446446
447447static int
448- w_setitem (char * items , Py_ssize_t i , PyObject * v )
448+ w_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
449449{
450450 if (!PyUnicode_Check (v )) {
451451 PyErr_Format (PyExc_TypeError ,
@@ -476,7 +476,7 @@ h_getitem(char *items, Py_ssize_t i)
476476
477477
478478static int
479- h_setitem (char * items , Py_ssize_t i , PyObject * v )
479+ h_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
480480{
481481 short x ;
482482 /* 'h' == signed short, maps to PyArg_Parse's 'h' formatter */
@@ -497,7 +497,7 @@ HH_getitem(char *items, Py_ssize_t i)
497497}
498498
499499static int
500- HH_setitem (char * items , Py_ssize_t i , PyObject * v )
500+ HH_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
501501{
502502 int x ;
503503 /* PyArg_Parse's 'h' formatter is for a signed short, therefore
@@ -529,7 +529,7 @@ i_getitem(char *items, Py_ssize_t i)
529529}
530530
531531static int
532- i_setitem (char * items , Py_ssize_t i , PyObject * v )
532+ i_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
533533{
534534 int x ;
535535 /* 'i' == signed int, maps to PyArg_Parse's 'i' formatter */
@@ -551,7 +551,7 @@ II_getitem(char *items, Py_ssize_t i)
551551}
552552
553553static int
554- II_setitem (char * items , Py_ssize_t i , PyObject * v )
554+ II_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
555555{
556556 unsigned long x ;
557557 int do_decref = 0 ; /* if nb_int was called */
@@ -600,7 +600,7 @@ l_getitem(char *items, Py_ssize_t i)
600600}
601601
602602static int
603- l_setitem (char * items , Py_ssize_t i , PyObject * v )
603+ l_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
604604{
605605 long x ;
606606 if (!PyArg_Parse (v , "l;array item must be integer" , & x ))
@@ -620,7 +620,7 @@ LL_getitem(char *items, Py_ssize_t i)
620620}
621621
622622static int
623- LL_setitem (char * items , Py_ssize_t i , PyObject * v )
623+ LL_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
624624{
625625 unsigned long x ;
626626 int do_decref = 0 ; /* if nb_int was called */
@@ -661,7 +661,7 @@ q_getitem(char *items, Py_ssize_t i)
661661}
662662
663663static int
664- q_setitem (char * items , Py_ssize_t i , PyObject * v )
664+ q_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
665665{
666666 long long x ;
667667 if (!PyArg_Parse (v , "L;array item must be integer" , & x ))
@@ -682,7 +682,7 @@ QQ_getitem(char *items, Py_ssize_t i)
682682}
683683
684684static int
685- QQ_setitem (char * items , Py_ssize_t i , PyObject * v )
685+ QQ_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
686686{
687687 unsigned long long x ;
688688 int do_decref = 0 ; /* if nb_int was called */
@@ -723,7 +723,7 @@ f_getitem(char *items, Py_ssize_t i)
723723}
724724
725725static int
726- f_setitem (char * items , Py_ssize_t i , PyObject * v )
726+ f_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
727727{
728728 float x ;
729729 if (!PyArg_Parse (v , "f;array item must be float" , & x ))
@@ -743,7 +743,7 @@ d_getitem(char *items, Py_ssize_t i)
743743}
744744
745745static int
746- d_setitem (char * items , Py_ssize_t i , PyObject * v )
746+ d_setitem (arrayobject * ap , char * items , Py_ssize_t i , PyObject * v )
747747{
748748 double x ;
749749 if (!PyArg_Parse (v , "d;array item must be float" , & x ))
@@ -935,7 +935,7 @@ setarrayitem(arrayobject *ap, Py_ssize_t i, PyObject *v, arraydata *data)
935935#endif
936936 }
937937#endif
938- return (* ap -> ob_descr -> setitem )(data == NULL ? NULL : data -> items , i , v );
938+ return (* ap -> ob_descr -> setitem )(ap , data == NULL ? NULL : data -> items , i , v );
939939}
940940
941941static int
@@ -3112,7 +3112,6 @@ array_ass_subscr(PyObject *op, PyObject* item, PyObject* value)
31123112 return ret ;
31133113}
31143114
3115- static const void * emptybuf = "" ;
31163115static const _Py_ALIGNED_DEF (ALIGNOF_MAX_ALIGN_T , char ) emptybuf [] = "" ;
31173116
31183117static int
0 commit comments