@@ -124,7 +124,6 @@ PyObject_LengthHint(PyObject *o, Py_ssize_t defaultvalue)
124
124
return -1 ;
125
125
}
126
126
else if (result == Py_NotImplemented ) {
127
- Py_DECREF (result );
128
127
return defaultvalue ;
129
128
}
130
129
if (!PyLong_Check (result )) {
@@ -883,23 +882,20 @@ binary_op1(PyObject *v, PyObject *w, const int op_slot
883
882
x = slotw (v , w );
884
883
if (x != Py_NotImplemented )
885
884
return x ;
886
- Py_DECREF (x ); /* can't do it */
887
885
slotw = NULL ;
888
886
}
889
887
x = slotv (v , w );
890
888
assert (_Py_CheckSlotResult (v , op_name , x != NULL ));
891
889
if (x != Py_NotImplemented ) {
892
890
return x ;
893
891
}
894
- Py_DECREF (x ); /* can't do it */
895
892
}
896
893
if (slotw ) {
897
894
PyObject * x = slotw (v , w );
898
895
assert (_Py_CheckSlotResult (w , op_name , x != NULL ));
899
896
if (x != Py_NotImplemented ) {
900
897
return x ;
901
898
}
902
- Py_DECREF (x ); /* can't do it */
903
899
}
904
900
Py_RETURN_NOTIMPLEMENTED ;
905
901
}
@@ -927,8 +923,6 @@ binary_op(PyObject *v, PyObject *w, const int op_slot, const char *op_name)
927
923
{
928
924
PyObject * result = BINARY_OP1 (v , w , op_slot , op_name );
929
925
if (result == Py_NotImplemented ) {
930
- Py_DECREF (result );
931
-
932
926
if (op_slot == NB_SLOT (nb_rshift ) &&
933
927
PyCFunction_CheckExact (v ) &&
934
928
strcmp (((PyCFunctionObject * )v )-> m_ml -> ml_name , "print" ) == 0 )
@@ -992,23 +986,20 @@ ternary_op(PyObject *v,
992
986
if (x != Py_NotImplemented ) {
993
987
return x ;
994
988
}
995
- Py_DECREF (x ); /* can't do it */
996
989
slotw = NULL ;
997
990
}
998
991
x = slotv (v , w , z );
999
992
assert (_Py_CheckSlotResult (v , op_name , x != NULL ));
1000
993
if (x != Py_NotImplemented ) {
1001
994
return x ;
1002
995
}
1003
- Py_DECREF (x ); /* can't do it */
1004
996
}
1005
997
if (slotw ) {
1006
998
PyObject * x = slotw (v , w , z );
1007
999
assert (_Py_CheckSlotResult (w , op_name , x != NULL ));
1008
1000
if (x != Py_NotImplemented ) {
1009
1001
return x ;
1010
1002
}
1011
- Py_DECREF (x ); /* can't do it */
1012
1003
}
1013
1004
1014
1005
PyNumberMethods * mz = Py_TYPE (z )-> tp_as_number ;
@@ -1023,7 +1014,6 @@ ternary_op(PyObject *v,
1023
1014
if (x != Py_NotImplemented ) {
1024
1015
return x ;
1025
1016
}
1026
- Py_DECREF (x ); /* can't do it */
1027
1017
}
1028
1018
}
1029
1019
@@ -1070,7 +1060,6 @@ PyNumber_Add(PyObject *v, PyObject *w)
1070
1060
if (result != Py_NotImplemented ) {
1071
1061
return result ;
1072
1062
}
1073
- Py_DECREF (result );
1074
1063
1075
1064
PySequenceMethods * m = Py_TYPE (v )-> tp_as_sequence ;
1076
1065
if (m && m -> sq_concat ) {
@@ -1108,7 +1097,6 @@ PyNumber_Multiply(PyObject *v, PyObject *w)
1108
1097
if (result == Py_NotImplemented ) {
1109
1098
PySequenceMethods * mv = Py_TYPE (v )-> tp_as_sequence ;
1110
1099
PySequenceMethods * mw = Py_TYPE (w )-> tp_as_sequence ;
1111
- Py_DECREF (result );
1112
1100
if (mv && mv -> sq_repeat ) {
1113
1101
return sequence_repeat (mv -> sq_repeat , v , w );
1114
1102
}
@@ -1188,7 +1176,6 @@ binary_iop1(PyObject *v, PyObject *w, const int iop_slot, const int op_slot
1188
1176
if (x != Py_NotImplemented ) {
1189
1177
return x ;
1190
1178
}
1191
- Py_DECREF (x );
1192
1179
}
1193
1180
}
1194
1181
#ifdef NDEBUG
@@ -1210,7 +1197,6 @@ binary_iop(PyObject *v, PyObject *w, const int iop_slot, const int op_slot,
1210
1197
{
1211
1198
PyObject * result = BINARY_IOP1 (v , w , iop_slot , op_slot , op_name );
1212
1199
if (result == Py_NotImplemented ) {
1213
- Py_DECREF (result );
1214
1200
return binop_type_error (v , w , op_name );
1215
1201
}
1216
1202
return result ;
@@ -1228,7 +1214,6 @@ ternary_iop(PyObject *v, PyObject *w, PyObject *z, const int iop_slot, const int
1228
1214
if (x != Py_NotImplemented ) {
1229
1215
return x ;
1230
1216
}
1231
- Py_DECREF (x );
1232
1217
}
1233
1218
}
1234
1219
return ternary_op (v , w , z , op_slot , op_name );
@@ -1258,7 +1243,6 @@ PyNumber_InPlaceAdd(PyObject *v, PyObject *w)
1258
1243
NB_SLOT (nb_add ), "+=" );
1259
1244
if (result == Py_NotImplemented ) {
1260
1245
PySequenceMethods * m = Py_TYPE (v )-> tp_as_sequence ;
1261
- Py_DECREF (result );
1262
1246
if (m != NULL ) {
1263
1247
binaryfunc func = m -> sq_inplace_concat ;
1264
1248
if (func == NULL )
@@ -1283,7 +1267,6 @@ PyNumber_InPlaceMultiply(PyObject *v, PyObject *w)
1283
1267
ssizeargfunc f = NULL ;
1284
1268
PySequenceMethods * mv = Py_TYPE (v )-> tp_as_sequence ;
1285
1269
PySequenceMethods * mw = Py_TYPE (w )-> tp_as_sequence ;
1286
- Py_DECREF (result );
1287
1270
if (mv != NULL ) {
1288
1271
f = mv -> sq_inplace_repeat ;
1289
1272
if (f == NULL )
@@ -1767,7 +1750,6 @@ PySequence_Concat(PyObject *s, PyObject *o)
1767
1750
PyObject * result = BINARY_OP1 (s , o , NB_SLOT (nb_add ), "+" );
1768
1751
if (result != Py_NotImplemented )
1769
1752
return result ;
1770
- Py_DECREF (result );
1771
1753
}
1772
1754
return type_error ("'%.200s' object can't be concatenated" , s );
1773
1755
}
@@ -1798,7 +1780,6 @@ PySequence_Repeat(PyObject *o, Py_ssize_t count)
1798
1780
Py_DECREF (n );
1799
1781
if (result != Py_NotImplemented )
1800
1782
return result ;
1801
- Py_DECREF (result );
1802
1783
}
1803
1784
return type_error ("'%.200s' object can't be repeated" , o );
1804
1785
}
@@ -1827,7 +1808,6 @@ PySequence_InPlaceConcat(PyObject *s, PyObject *o)
1827
1808
NB_SLOT (nb_add ), "+=" );
1828
1809
if (result != Py_NotImplemented )
1829
1810
return result ;
1830
- Py_DECREF (result );
1831
1811
}
1832
1812
return type_error ("'%.200s' object can't be concatenated" , s );
1833
1813
}
@@ -1861,7 +1841,6 @@ PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count)
1861
1841
Py_DECREF (n );
1862
1842
if (result != Py_NotImplemented )
1863
1843
return result ;
1864
- Py_DECREF (result );
1865
1844
}
1866
1845
return type_error ("'%.200s' object can't be repeated" , o );
1867
1846
}
0 commit comments