Skip to content

Commit c963731

Browse files
committed
refactor logic a little when no sep or end is passed
1 parent b18d26d commit c963731

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

Python/bltinmodule.c

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)