Issue #27981: Merge from 3.6
This commit is contained in:
commit
ae66e6962e
|
@ -497,7 +497,7 @@ error:
|
||||||
static int
|
static int
|
||||||
fp_setreadl(struct tok_state *tok, const char* enc)
|
fp_setreadl(struct tok_state *tok, const char* enc)
|
||||||
{
|
{
|
||||||
PyObject *readline = NULL, *stream = NULL, *io = NULL;
|
PyObject *readline = NULL, *stream = NULL, *io = NULL, *bufobj;
|
||||||
_Py_IDENTIFIER(open);
|
_Py_IDENTIFIER(open);
|
||||||
_Py_IDENTIFIER(readline);
|
_Py_IDENTIFIER(readline);
|
||||||
int fd;
|
int fd;
|
||||||
|
@ -528,9 +528,12 @@ fp_setreadl(struct tok_state *tok, const char* enc)
|
||||||
readline = _PyObject_GetAttrId(stream, &PyId_readline);
|
readline = _PyObject_GetAttrId(stream, &PyId_readline);
|
||||||
Py_XSETREF(tok->decoding_readline, readline);
|
Py_XSETREF(tok->decoding_readline, readline);
|
||||||
if (pos > 0) {
|
if (pos > 0) {
|
||||||
if (PyObject_CallObject(readline, NULL) == NULL) {
|
bufobj = PyObject_CallObject(readline, NULL);
|
||||||
|
if (bufobj == NULL) {
|
||||||
readline = NULL;
|
readline = NULL;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
} else {
|
||||||
|
Py_DECREF(bufobj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue