@@ -299,8 +299,7 @@ deque_append_internal(dequeobject *deque, PyObject *item, Py_ssize_t maxlen)
299299static PyObject *
300300deque_append (dequeobject * deque , PyObject * item )
301301{
302- Py_INCREF (item );
303- if (deque_append_internal (deque , item , deque -> maxlen ) < 0 )
302+ if (deque_append_internal (deque , Py_NewRef (item ), deque -> maxlen ) < 0 )
304303 return NULL ;
305304 Py_RETURN_NONE ;
306305}
@@ -336,8 +335,7 @@ deque_appendleft_internal(dequeobject *deque, PyObject *item, Py_ssize_t maxlen)
336335static PyObject *
337336deque_appendleft (dequeobject * deque , PyObject * item )
338337{
339- Py_INCREF (item );
340- if (deque_appendleft_internal (deque , item , deque -> maxlen ) < 0 )
338+ if (deque_appendleft_internal (deque , Py_NewRef (item ), deque -> maxlen ) < 0 )
341339 return NULL ;
342340 Py_RETURN_NONE ;
343341}
@@ -655,14 +653,12 @@ deque_inplace_repeat(dequeobject *deque, Py_ssize_t n)
655653
656654 size = Py_SIZE (deque );
657655 if (size == 0 || n == 1 ) {
658- Py_INCREF (deque );
659- return (PyObject * )deque ;
656+ return Py_NewRef (deque );
660657 }
661658
662659 if (n <= 0 ) {
663660 deque_clear (deque );
664- Py_INCREF (deque );
665- return (PyObject * )deque ;
661+ return Py_NewRef (deque );
666662 }
667663
668664 if (size == 1 ) {
@@ -693,13 +689,11 @@ deque_inplace_repeat(dequeobject *deque, Py_ssize_t n)
693689 i += m ;
694690 while (m -- ) {
695691 deque -> rightindex ++ ;
696- Py_INCREF (item );
697- deque -> rightblock -> data [deque -> rightindex ] = item ;
692+ deque -> rightblock -> data [deque -> rightindex ] = Py_NewRef (item );
698693 }
699694 }
700695 Py_SET_SIZE (deque , Py_SIZE (deque ) + i );
701- Py_INCREF (deque );
702- return (PyObject * )deque ;
696+ return Py_NewRef (deque );
703697 }
704698
705699 if ((size_t )size > PY_SSIZE_T_MAX / (size_t )n ) {
@@ -972,8 +966,7 @@ deque_count(dequeobject *deque, PyObject *v)
972966
973967 while (-- n >= 0 ) {
974968 CHECK_NOT_END (b );
975- item = b -> data [index ];
976- Py_INCREF (item );
969+ item = Py_NewRef (b -> data [index ]);
977970 cmp = PyObject_RichCompareBool (item , v , Py_EQ );
978971 Py_DECREF (item );
979972 if (cmp < 0 )
@@ -1011,8 +1004,7 @@ deque_contains(dequeobject *deque, PyObject *v)
10111004
10121005 while (-- n >= 0 ) {
10131006 CHECK_NOT_END (b );
1014- item = b -> data [index ];
1015- Py_INCREF (item );
1007+ item = Py_NewRef (b -> data [index ]);
10161008 cmp = PyObject_RichCompareBool (item , v , Py_EQ );
10171009 Py_DECREF (item );
10181010 if (cmp ) {
@@ -1201,8 +1193,7 @@ deque_item(dequeobject *deque, Py_ssize_t i)
12011193 }
12021194 }
12031195 item = b -> data [i ];
1204- Py_INCREF (item );
1205- return item ;
1196+ return Py_NewRef (item );
12061197}
12071198
12081199static int
@@ -1231,8 +1222,7 @@ deque_remove(dequeobject *deque, PyObject *value)
12311222 int cmp , rv ;
12321223
12331224 for (i = 0 ; i < n ; i ++ ) {
1234- item = b -> data [index ];
1235- Py_INCREF (item );
1225+ item = Py_NewRef (b -> data [index ]);
12361226 cmp = PyObject_RichCompareBool (item , value , Py_EQ );
12371227 Py_DECREF (item );
12381228 if (cmp < 0 ) {
@@ -1292,9 +1282,8 @@ deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v)
12921282 while (-- n >= 0 )
12931283 b = b -> leftlink ;
12941284 }
1295- Py_INCREF (v );
12961285 old_value = b -> data [i ];
1297- b -> data [i ] = v ;
1286+ b -> data [i ] = Py_NewRef ( v ) ;
12981287 Py_DECREF (old_value );
12991288 return 0 ;
13001289}
@@ -1686,8 +1675,7 @@ deque_iter(dequeobject *deque)
16861675 return NULL ;
16871676 it -> b = deque -> leftblock ;
16881677 it -> index = deque -> leftindex ;
1689- Py_INCREF (deque );
1690- it -> deque = deque ;
1678+ it -> deque = (dequeobject * )Py_NewRef (deque );
16911679 it -> state = deque -> state ;
16921680 it -> counter = Py_SIZE (deque );
16931681 PyObject_GC_Track (it );
@@ -1734,8 +1722,7 @@ dequeiter_next(dequeiterobject *it)
17341722 it -> b = it -> b -> rightlink ;
17351723 it -> index = 0 ;
17361724 }
1737- Py_INCREF (item );
1738- return item ;
1725+ return Py_NewRef (item );
17391726}
17401727
17411728static PyObject *
@@ -1844,8 +1831,7 @@ deque_reviter(dequeobject *deque, PyObject *Py_UNUSED(ignored))
18441831 return NULL ;
18451832 it -> b = deque -> rightblock ;
18461833 it -> index = deque -> rightindex ;
1847- Py_INCREF (deque );
1848- it -> deque = deque ;
1834+ it -> deque = (dequeobject * )Py_NewRef (deque );
18491835 it -> state = deque -> state ;
18501836 it -> counter = Py_SIZE (deque );
18511837 PyObject_GC_Track (it );
@@ -1876,8 +1862,7 @@ dequereviter_next(dequeiterobject *it)
18761862 it -> b = it -> b -> leftlink ;
18771863 it -> index = BLOCKLEN - 1 ;
18781864 }
1879- Py_INCREF (item );
1880- return item ;
1865+ return Py_NewRef (item );
18811866}
18821867
18831868static PyObject *
@@ -2203,8 +2188,7 @@ defdict_init(PyObject *self, PyObject *args, PyObject *kwds)
22032188 }
22042189 if (newargs == NULL )
22052190 return -1 ;
2206- Py_XINCREF (newdefault );
2207- dd -> default_factory = newdefault ;
2191+ dd -> default_factory = Py_XNewRef (newdefault );
22082192 result = PyDict_Type .tp_init (self , newargs , kwds );
22092193 Py_DECREF (newargs );
22102194 Py_XDECREF (olddefault );
@@ -2414,8 +2398,7 @@ tuplegetter_new_impl(PyTypeObject *type, Py_ssize_t index, PyObject *doc)
24142398 return NULL ;
24152399 }
24162400 self -> index = index ;
2417- Py_INCREF (doc );
2418- self -> doc = doc ;
2401+ self -> doc = Py_NewRef (doc );
24192402 return (PyObject * )self ;
24202403}
24212404
@@ -2426,13 +2409,11 @@ tuplegetter_descr_get(PyObject *self, PyObject *obj, PyObject *type)
24262409 PyObject * result ;
24272410
24282411 if (obj == NULL ) {
2429- Py_INCREF (self );
2430- return self ;
2412+ return Py_NewRef (self );
24312413 }
24322414 if (!PyTuple_Check (obj )) {
24332415 if (obj == Py_None ) {
2434- Py_INCREF (self );
2435- return self ;
2416+ return Py_NewRef (self );
24362417 }
24372418 PyErr_Format (PyExc_TypeError ,
24382419 "descriptor for index '%zd' for tuple subclasses "
@@ -2448,8 +2429,7 @@ tuplegetter_descr_get(PyObject *self, PyObject *obj, PyObject *type)
24482429 }
24492430
24502431 result = PyTuple_GET_ITEM (obj , index );
2451- Py_INCREF (result );
2452- return result ;
2432+ return Py_NewRef (result );
24532433}
24542434
24552435static int
0 commit comments