From c3e97d9d984130d1c2aceedc4dfcd603b3162688 Mon Sep 17 00:00:00 2001 From: Xiang Zhang Date: Thu, 14 Sep 2017 10:33:26 +0800 Subject: [PATCH] bpo-30246: fix several error messages which only mention bytes in struct (#1421) --- Modules/_struct.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Modules/_struct.c b/Modules/_struct.c index 69a1e996d05..04d7f8e1871 100644 --- a/Modules/_struct.c +++ b/Modules/_struct.c @@ -1453,7 +1453,8 @@ Struct___init___impl(PyStructObject *self, PyObject *format) if (!PyBytes_Check(format)) { Py_DECREF(format); PyErr_Format(PyExc_TypeError, - "Struct() argument 1 must be a bytes object, not %.200s", + "Struct() argument 1 must be a str or bytes object, " + "not %.200s", Py_TYPE(format)->tp_name); return -1; } @@ -1535,7 +1536,7 @@ Struct_unpack_impl(PyStructObject *self, Py_buffer *buffer) assert(self->s_codes != NULL); if (buffer->len != self->s_size) { PyErr_Format(StructError, - "unpack requires a bytes object of length %zd", + "unpack requires a buffer of %zd bytes", self->s_size); return NULL; } @@ -1708,8 +1709,8 @@ Struct_iter_unpack(PyStructObject *self, PyObject *buffer) } if (iter->buf.len % self->s_size != 0) { PyErr_Format(StructError, - "iterative unpacking requires a bytes length " - "multiple of %zd", + "iterative unpacking requires a buffer of " + "a multiple of %zd bytes", self->s_size); Py_DECREF(iter); return NULL;