diff options
-rw-r--r-- | Include/dictobject.h | 1 | ||||
-rw-r--r-- | Objects/dictobject.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Include/dictobject.h b/Include/dictobject.h index 16bd1d6..9e5c90c 100644 --- a/Include/dictobject.h +++ b/Include/dictobject.h @@ -109,6 +109,7 @@ PyAPI_FUNC(PyObject *) _PyDict_GetItemId(PyObject *dp, struct _Py_Identifier *ke PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, const char *key, PyObject *item); PyAPI_FUNC(int) _PyDict_SetItemId(PyObject *dp, struct _Py_Identifier *key, PyObject *item); PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, const char *key); +PyAPI_FUNC(int) _PyDict_DelItemId(PyObject *mp, struct _Py_Identifier *key); #ifndef Py_LIMITED_API int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, PyObject *value); diff --git a/Objects/dictobject.c b/Objects/dictobject.c index 2424176..a5072c8 100644 --- a/Objects/dictobject.c +++ b/Objects/dictobject.c @@ -2736,6 +2736,15 @@ PyDict_SetItemString(PyObject *v, const char *key, PyObject *item) } int +_PyDict_DelItemId(PyObject *v, _Py_Identifier *key) +{ + PyObject *kv = _PyUnicode_FromId(key); /* borrowed */ + if (kv == NULL) + return -1; + return PyDict_DelItem(v, kv); +} + +int PyDict_DelItemString(PyObject *v, const char *key) { PyObject *kv; |