summaryrefslogtreecommitdiff
path: root/Python
diff options
context:
space:
mode:
authorDong-hee Na <donghee.na92@gmail.com>2020-03-23 01:17:34 +0900
committerGitHub <noreply@github.com>2020-03-22 17:17:34 +0100
commit05e4a296ecc127641160a04f39cc02c0f66a8c27 (patch)
tree59e73090785087a5e15175c815a20986e59a5728 /Python
parentb33e52511a59c6da7132c226b7f7489b092a33eb (diff)
downloadcpython-git-05e4a296ecc127641160a04f39cc02c0f66a8c27.tar.gz
bpo-40024: Add PyModule_AddType() helper function (GH-19088)
Diffstat (limited to 'Python')
-rw-r--r--Python/modsupport.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/Python/modsupport.c b/Python/modsupport.c
index 7271af3ac5..a8e78c3cec 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -678,3 +678,22 @@ PyModule_AddStringConstant(PyObject *m, const char *name, const char *value)
Py_DECREF(o);
return -1;
}
+
+int
+PyModule_AddType(PyObject *module, PyTypeObject *type)
+{
+ if (PyType_Ready(type) < 0) {
+ return -1;
+ }
+
+ const char *name = _PyType_Name(type);
+ assert(name != NULL);
+
+ Py_INCREF(type);
+ if (PyModule_AddObject(module, name, (PyObject *)type) < 0) {
+ Py_DECREF(type);
+ return -1;
+ }
+
+ return 0;
+}