backport keyword argument support for bytearray.decode
This commit is contained in:
parent
579a358e61
commit
dc782b55f2
|
@ -186,6 +186,8 @@ class BaseBytesTest(unittest.TestCase):
|
|||
b = self.type2test(sample, "latin1")
|
||||
self.assertRaises(UnicodeDecodeError, b.decode, "utf8")
|
||||
self.assertEqual(b.decode("utf8", "ignore"), "Hello world\n")
|
||||
self.assertEqual(b.decode(errors="ignore", encoding="utf8"),
|
||||
"Hello world\n")
|
||||
|
||||
def test_from_int(self):
|
||||
b = self.type2test(0)
|
||||
|
|
|
@ -2942,12 +2942,13 @@ as well as any other name registered with codecs.register_error that is\n\
|
|||
able to handle UnicodeDecodeErrors.");
|
||||
|
||||
static PyObject *
|
||||
bytearray_decode(PyObject *self, PyObject *args)
|
||||
bytearray_decode(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
const char *encoding = NULL;
|
||||
const char *errors = NULL;
|
||||
static char *kwlist[] = {"encoding", "errors", 0};
|
||||
|
||||
if (!PyArg_ParseTuple(args, "|ss:decode", &encoding, &errors))
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|ss:decode", kwlist, &encoding, &errors))
|
||||
return NULL;
|
||||
if (encoding == NULL) {
|
||||
#ifdef Py_USING_UNICODE
|
||||
|
@ -3189,7 +3190,7 @@ bytearray_methods[] = {
|
|||
_Py_capitalize__doc__},
|
||||
{"center", (PyCFunction)stringlib_center, METH_VARARGS, center__doc__},
|
||||
{"count", (PyCFunction)bytearray_count, METH_VARARGS, count__doc__},
|
||||
{"decode", (PyCFunction)bytearray_decode, METH_VARARGS, decode_doc},
|
||||
{"decode", (PyCFunction)bytearray_decode, METH_VARARGS | METH_KEYWORDS, decode_doc},
|
||||
{"endswith", (PyCFunction)bytearray_endswith, METH_VARARGS, endswith__doc__},
|
||||
{"expandtabs", (PyCFunction)stringlib_expandtabs, METH_VARARGS,
|
||||
expandtabs__doc__},
|
||||
|
|
Loading…
Reference in New Issue