Accept bytes object as field name.
diff --git a/python/message.c b/python/message.c
index 46212ac..02fb902 100644
--- a/python/message.c
+++ b/python/message.c
@@ -243,7 +243,12 @@
PyObject* exc_type) {
assert(f || o);
Py_ssize_t size;
- const char* name = PyUnicode_AsUTF8AndSize(py_name, &size);
+ const char* name = NULL;
+ if (PyUnicode_Check(py_name)) {
+ name = PyUnicode_AsUTF8AndSize(py_name, &size);
+ } else if (PyBytes_Check(py_name)) {
+ PyBytes_AsStringAndSize(py_name, (char**)&name, &size);
+ }
if (!name) return NULL;
const upb_msgdef* msgdef = _PyUpb_CMessage_GetMsgdef(self);