@@ -1385,14 +1385,23 @@ bytes_richcompare(PyBytesObject *a, PyBytesObject *b, int op)
13851385
13861386 /* Make sure both arguments are strings. */
13871387 if (!(PyBytes_Check (a ) && PyBytes_Check (b ))) {
1388- if (Py_BytesWarningFlag && (op == Py_EQ || op == Py_NE ) &&
1389- (PyObject_IsInstance ((PyObject * )a ,
1390- (PyObject * )& PyUnicode_Type ) ||
1391- PyObject_IsInstance ((PyObject * )b ,
1392- (PyObject * )& PyUnicode_Type ))) {
1393- if (PyErr_WarnEx (PyExc_BytesWarning ,
1394- "Comparison between bytes and string" , 1 ))
1395- return NULL ;
1388+ if (Py_BytesWarningFlag && (op == Py_EQ || op == Py_NE )) {
1389+ if (PyObject_IsInstance ((PyObject * )a ,
1390+ (PyObject * )& PyUnicode_Type ) ||
1391+ PyObject_IsInstance ((PyObject * )b ,
1392+ (PyObject * )& PyUnicode_Type )) {
1393+ if (PyErr_WarnEx (PyExc_BytesWarning ,
1394+ "Comparison between bytes and string" , 1 ))
1395+ return NULL ;
1396+ }
1397+ else if (PyObject_IsInstance ((PyObject * )a ,
1398+ (PyObject * )& PyLong_Type ) ||
1399+ PyObject_IsInstance ((PyObject * )b ,
1400+ (PyObject * )& PyLong_Type )) {
1401+ if (PyErr_WarnEx (PyExc_BytesWarning ,
1402+ "Comparison between bytes and int" , 1 ))
1403+ return NULL ;
1404+ }
13961405 }
13971406 result = Py_NotImplemented ;
13981407 }
0 commit comments