From ae9f161b43df37e69ba4715b50862fdbf077e245 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 6 Nov 2013 22:46:51 +0100 Subject: [PATCH] Issue #19512: __build_class() builtin now uses an identifier for the "metaclass" string --- Python/bltinmodule.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 6eb0ee7ddff..6d9864da175 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -44,6 +44,7 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) Py_ssize_t nargs; int isclass; _Py_IDENTIFIER(__prepare__); + _Py_IDENTIFIER(metaclass); assert(args != NULL); if (!PyTuple_Check(args)) { @@ -83,10 +84,10 @@ builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) Py_DECREF(bases); return NULL; } - meta = PyDict_GetItemString(mkw, "metaclass"); + meta = _PyDict_GetItemId(mkw, &PyId_metaclass); if (meta != NULL) { Py_INCREF(meta); - if (PyDict_DelItemString(mkw, "metaclass") < 0) { + if (_PyDict_DelItemId(mkw, &PyId_metaclass) < 0) { Py_DECREF(meta); Py_DECREF(mkw); Py_DECREF(bases);