Skip to content

Commit ab13ae6

Browse files
author
Erlend E. Aasland
committed
Address review comment: SRE_MAXREPEAT and SRE_MAXGROUPS are unsigned
1 parent d0d47d4 commit ab13ae6

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

Modules/_sre.c

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2773,6 +2773,17 @@ static struct PyModuleDef sremodule = {
27732773
NULL
27742774
};
27752775

2776+
#define ADD_ULONG_CONSTANT(module, name, value) \
2777+
do { \
2778+
PyObject *o = PyLong_FromUnsignedLong(value); \
2779+
if (!o) \
2780+
return NULL; \
2781+
if (PyModule_AddObject(module, name, o) < 0) { \
2782+
Py_DECREF(o); \
2783+
return NULL; \
2784+
} \
2785+
} while (0)
2786+
27762787
PyMODINIT_FUNC PyInit__sre(void)
27772788
{
27782789
PyObject* m;
@@ -2794,13 +2805,8 @@ PyMODINIT_FUNC PyInit__sre(void)
27942805
return NULL;
27952806
}
27962807

2797-
if (PyModule_AddIntConstant(m, "MAXREPEAT", SRE_MAXREPEAT) < 0) {
2798-
return NULL;
2799-
}
2800-
2801-
if (PyModule_AddIntConstant(m, "MAXGROUPS", SRE_MAXGROUPS) < 0) {
2802-
return NULL;
2803-
}
2808+
ADD_ULONG_CONSTANT(m, "MAXREPEAT", SRE_MAXREPEAT);
2809+
ADD_ULONG_CONSTANT(m, "MAXGROUPS", SRE_MAXGROUPS);
28042810

28052811
if (PyModule_AddStringConstant(m, "copyright", copyright) < 0) {
28062812
return NULL;

0 commit comments

Comments
 (0)