@@ -1459,13 +1459,19 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
14591459 Py_RETURN_NONE ;
14601460 }
14611461
1462- if (sep && sep != Py_None && !PyUnicode_Check (sep )) {
1462+ if (sep == Py_None ) {
1463+ sep = NULL ;
1464+ }
1465+ else if (sep && !PyUnicode_Check (sep )) {
14631466 PyErr_Format (PyExc_TypeError ,
14641467 "sep must be None or a string, not %.200s" ,
14651468 sep -> ob_type -> tp_name );
14661469 return NULL ;
14671470 }
1468- if (end && end != Py_None && !PyUnicode_Check (end )) {
1471+ if (end == Py_None ) {
1472+ end = NULL ;
1473+ }
1474+ else if (end && !PyUnicode_Check (end )) {
14691475 PyErr_Format (PyExc_TypeError ,
14701476 "end must be None or a string, not %.200s" ,
14711477 end -> ob_type -> tp_name );
@@ -1474,7 +1480,7 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
14741480
14751481 for (i = 0 ; i < PyTuple_Size (args ); i ++ ) {
14761482 if (i > 0 ) {
1477- if (sep == NULL || sep == Py_None )
1483+ if (sep == NULL )
14781484 err = PyFile_WriteString (" " , file );
14791485 else
14801486 err = PyFile_WriteObject (sep , file ,
@@ -1488,7 +1494,7 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
14881494 return NULL ;
14891495 }
14901496
1491- if (end == NULL || end == Py_None )
1497+ if (end == NULL )
14921498 err = PyFile_WriteString ("\n" , file );
14931499 else
14941500 err = PyFile_WriteObject (end , file , Py_PRINT_RAW );
0 commit comments