]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #19512: __build_class() builtin now uses an identifier for the "metaclass"...
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 21:46:51 +0000 (22:46 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 21:46:51 +0000 (22:46 +0100)
Python/bltinmodule.c

index 6eb0ee7ddff7b0f171b786c09330fad806147a2c..6d9864da17575080c7d6eac64b7c6db347beb7fb 100644 (file)
@@ -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);