diff options
author | INADA Naoki <methane@users.noreply.github.com> | 2017-12-21 00:59:53 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-21 00:59:53 (GMT) |
commit | 507434fd504f3ebc1da72aa77544edc0d73f136e (patch) | |
tree | 521c4ca2eeff16a7cee8594cbca095d9bdec9181 /Modules/_io/clinic | |
parent | 31e99080f6f8cf7faaba9fe3a4e0996e49163317 (diff) | |
download | cpython-507434fd504f3ebc1da72aa77544edc0d73f136e.zip cpython-507434fd504f3ebc1da72aa77544edc0d73f136e.tar.gz cpython-507434fd504f3ebc1da72aa77544edc0d73f136e.tar.bz2 |
bpo-15216: io: TextIOWrapper.reconfigure() accepts encoding, errors and newline (GH-2343)
Diffstat (limited to 'Modules/_io/clinic')
-rw-r--r-- | Modules/_io/clinic/textio.c.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/Modules/_io/clinic/textio.c.h b/Modules/_io/clinic/textio.c.h index 53ac0de..60f5dab 100644 --- a/Modules/_io/clinic/textio.c.h +++ b/Modules/_io/clinic/textio.c.h @@ -149,7 +149,7 @@ PyDoc_STRVAR(_io_TextIOWrapper___init____doc__, static int _io_TextIOWrapper___init___impl(textio *self, PyObject *buffer, - const char *encoding, const char *errors, + const char *encoding, PyObject *errors, const char *newline, int line_buffering, int write_through); @@ -158,10 +158,10 @@ _io_TextIOWrapper___init__(PyObject *self, PyObject *args, PyObject *kwargs) { int return_value = -1; static const char * const _keywords[] = {"buffer", "encoding", "errors", "newline", "line_buffering", "write_through", NULL}; - static _PyArg_Parser _parser = {"O|zzzii:TextIOWrapper", _keywords, 0}; + static _PyArg_Parser _parser = {"O|zOzii:TextIOWrapper", _keywords, 0}; PyObject *buffer; const char *encoding = NULL; - const char *errors = NULL; + PyObject *errors = Py_None; const char *newline = NULL; int line_buffering = 0; int write_through = 0; @@ -177,7 +177,8 @@ exit: } PyDoc_STRVAR(_io_TextIOWrapper_reconfigure__doc__, -"reconfigure($self, /, *, line_buffering=None, write_through=None)\n" +"reconfigure($self, /, *, encoding=None, errors=None, newline=None,\n" +" line_buffering=None, write_through=None)\n" "--\n" "\n" "Reconfigure the text stream with new parameters.\n" @@ -188,7 +189,8 @@ PyDoc_STRVAR(_io_TextIOWrapper_reconfigure__doc__, {"reconfigure", (PyCFunction)_io_TextIOWrapper_reconfigure, METH_FASTCALL|METH_KEYWORDS, _io_TextIOWrapper_reconfigure__doc__}, static PyObject * -_io_TextIOWrapper_reconfigure_impl(textio *self, +_io_TextIOWrapper_reconfigure_impl(textio *self, PyObject *encoding, + PyObject *errors, PyObject *newline_obj, PyObject *line_buffering_obj, PyObject *write_through_obj); @@ -196,16 +198,19 @@ static PyObject * _io_TextIOWrapper_reconfigure(textio *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) { PyObject *return_value = NULL; - static const char * const _keywords[] = {"line_buffering", "write_through", NULL}; - static _PyArg_Parser _parser = {"|$OO:reconfigure", _keywords, 0}; + static const char * const _keywords[] = {"encoding", "errors", "newline", "line_buffering", "write_through", NULL}; + static _PyArg_Parser _parser = {"|$OOOOO:reconfigure", _keywords, 0}; + PyObject *encoding = Py_None; + PyObject *errors = Py_None; + PyObject *newline_obj = NULL; PyObject *line_buffering_obj = Py_None; PyObject *write_through_obj = Py_None; if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser, - &line_buffering_obj, &write_through_obj)) { + &encoding, &errors, &newline_obj, &line_buffering_obj, &write_through_obj)) { goto exit; } - return_value = _io_TextIOWrapper_reconfigure_impl(self, line_buffering_obj, write_through_obj); + return_value = _io_TextIOWrapper_reconfigure_impl(self, encoding, errors, newline_obj, line_buffering_obj, write_through_obj); exit: return return_value; @@ -499,4 +504,4 @@ _io_TextIOWrapper_close(textio *self, PyObject *Py_UNUSED(ignored)) { return _io_TextIOWrapper_close_impl(self); } -/*[clinic end generated code: output=679b3ac5284df4e0 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=b5be870b0039d577 input=a9049054013a1b77]*/ |