Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
rename the _sha2 types and simplify module init to use PyModule_AddType.
  • Loading branch information
gpshead authored Feb 15, 2023
commit 610cf3682b6950e120aa324e758bcd51909b9821
24 changes: 8 additions & 16 deletions Modules/sha2module.c
Original file line number Diff line number Diff line change
Expand Up @@ -484,31 +484,31 @@ static PyType_Slot sha512_type_slots[] = {
// Using PyType_GetModuleState() on these types is safe since they
// cannot be subclassed: they don't have the Py_TPFLAGS_BASETYPE flag.
static PyType_Spec sha224_type_spec = {
.name = "_sha2.sha224",
.name = "_sha2.SHA224Type",
.basicsize = sizeof(SHA256object),
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_HAVE_GC),
.slots = sha256_types_slots
};

static PyType_Spec sha256_type_spec = {
.name = "_sha2.sha256",
.name = "_sha2.SHA256Type",
.basicsize = sizeof(SHA256object),
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_HAVE_GC),
.slots = sha256_types_slots
};

static PyType_Spec sha384_type_spec = {
.name = "_sha2.sha384",
.name = "_sha2.SHA384Type",
.basicsize = sizeof(SHA512object),
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_HAVE_GC),
.slots = sha512_type_slots
};

static PyType_Spec sha512_type_spec = {
.name = "_sha2.sha512",
.name = "_sha2.SHA512Type",
.basicsize = sizeof(SHA512object),
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION |
Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_HAVE_GC),
Expand Down Expand Up @@ -765,24 +765,16 @@ static int sha2_exec(PyObject *module)
return -1;
}

Py_INCREF((PyObject *)state->sha224_type);
if (PyModule_AddObject(module, "SHA224Type", (PyObject *)state->sha224_type) < 0) {
Py_DECREF((PyObject *)state->sha224_type);
if (PyModule_AddType((PyObject *)state->sha224_type) < 0) {
return -1;
}
Py_INCREF((PyObject *)state->sha256_type);
if (PyModule_AddObject(module, "SHA256Type", (PyObject *)state->sha256_type) < 0) {
Py_DECREF((PyObject *)state->sha256_type);
if (PyModule_AddType((PyObject *)state->sha256_type) < 0) {
return -1;
}
Py_INCREF((PyObject *)state->sha384_type);
if (PyModule_AddObject(module, "SHA384Type", (PyObject *)state->sha384_type) < 0) {
Py_DECREF((PyObject *)state->sha384_type);
if (PyModule_AddType((PyObject *)state->sha384_type) < 0) {
return -1;
}
Py_INCREF((PyObject *)state->sha512_type);
if (PyModule_AddObject(module, "SHA512Type", (PyObject *)state->sha512_type) < 0) {
Py_DECREF((PyObject *)state->sha512_type);
if (PyModule_AddType((PyObject *)state->sha512_type) < 0) {
return -1;
}

Expand Down