1
1
#include "Python.h"
2
+ #include "pycore_initconfig.h"
2
3
#include "pycore_pyerrors.h"
3
4
#include "pycore_pystate.h"
4
5
#include "frameobject.h"
@@ -28,12 +29,12 @@ _Py_IDENTIFIER(__name__);
28
29
29
30
/* Given a module object, get its per-module state. */
30
31
static WarningsState *
31
- _Warnings_GetState ( )
32
+ warnings_get_state ( void )
32
33
{
33
34
PyThreadState * tstate = _PyThreadState_GET ();
34
35
if (tstate == NULL ) {
35
36
_PyErr_SetString (tstate , PyExc_RuntimeError ,
36
- "_Warnings_GetState : could not identify "
37
+ "warnings_get_state : could not identify "
37
38
"current interpreter" );
38
39
return NULL ;
39
40
}
@@ -42,7 +43,7 @@ _Warnings_GetState()
42
43
43
44
/* Clear the given warnings module state. */
44
45
static void
45
- _Warnings_ClearState (WarningsState * st )
46
+ warnings_clear_state (WarningsState * st )
46
47
{
47
48
Py_CLEAR (st -> filters );
48
49
Py_CLEAR (st -> once_registry );
@@ -112,7 +113,7 @@ init_filters(void)
112
113
113
114
/* Initialize the given warnings module state. */
114
115
static int
115
- _Warnings_InitState (WarningsState * st )
116
+ warnings_init_state (WarningsState * st )
116
117
{
117
118
if (st -> filters == NULL ) {
118
119
st -> filters = init_filters ();
@@ -140,7 +141,7 @@ _Warnings_InitState(WarningsState *st)
140
141
return 0 ;
141
142
142
143
error :
143
- _Warnings_ClearState (st );
144
+ warnings_clear_state (st );
144
145
return -1 ;
145
146
}
146
147
@@ -286,7 +287,7 @@ get_filter(PyObject *category, PyObject *text, Py_ssize_t lineno,
286
287
Py_ssize_t i ;
287
288
PyObject * warnings_filters ;
288
289
_Py_IDENTIFIER (filters );
289
- WarningsState * st = _Warnings_GetState ();
290
+ WarningsState * st = warnings_get_state ();
290
291
if (st == NULL ) {
291
292
return NULL ;
292
293
}
@@ -388,7 +389,7 @@ already_warned(PyObject *registry, PyObject *key, int should_set)
388
389
if (key == NULL )
389
390
return -1 ;
390
391
391
- WarningsState * st = _Warnings_GetState ();
392
+ WarningsState * st = warnings_get_state ();
392
393
if (st == NULL ) {
393
394
return -1 ;
394
395
}
@@ -706,7 +707,7 @@ warn_explicit(PyObject *category, PyObject *message,
706
707
707
708
if (_PyUnicode_EqualToASCIIString (action , "once" )) {
708
709
if (registry == NULL || registry == Py_None ) {
709
- WarningsState * st = _Warnings_GetState ();
710
+ WarningsState * st = warnings_get_state ();
710
711
if (st == NULL ) {
711
712
goto cleanup ;
712
713
}
@@ -1066,7 +1067,7 @@ warnings_warn_explicit(PyObject *self, PyObject *args, PyObject *kwds)
1066
1067
static PyObject *
1067
1068
warnings_filters_mutated (PyObject * self , PyObject * args )
1068
1069
{
1069
- WarningsState * st = _Warnings_GetState ();
1070
+ WarningsState * st = warnings_get_state ();
1070
1071
if (st == NULL ) {
1071
1072
return NULL ;
1072
1073
}
@@ -1333,6 +1334,16 @@ static struct PyModuleDef warningsmodule = {
1333
1334
};
1334
1335
1335
1336
1337
+ PyStatus
1338
+ _PyWarnings_InitState (PyThreadState * tstate )
1339
+ {
1340
+ if (warnings_init_state (& tstate -> interp -> warnings ) < 0 ) {
1341
+ return _PyStatus_ERR ("can't initialize warnings" );
1342
+ }
1343
+ return _PyStatus_OK ();
1344
+ }
1345
+
1346
+
1336
1347
PyMODINIT_FUNC
1337
1348
_PyWarnings_Init (void )
1338
1349
{
@@ -1343,11 +1354,11 @@ _PyWarnings_Init(void)
1343
1354
return NULL ;
1344
1355
}
1345
1356
1346
- WarningsState * st = _Warnings_GetState ();
1357
+ WarningsState * st = warnings_get_state ();
1347
1358
if (st == NULL ) {
1348
1359
goto error ;
1349
1360
}
1350
- if (_Warnings_InitState (st ) < 0 ) {
1361
+ if (warnings_init_state (st ) < 0 ) {
1351
1362
goto error ;
1352
1363
}
1353
1364
@@ -1370,7 +1381,7 @@ _PyWarnings_Init(void)
1370
1381
1371
1382
error :
1372
1383
if (st != NULL ) {
1373
- _Warnings_ClearState (st );
1384
+ warnings_clear_state (st );
1374
1385
}
1375
1386
Py_DECREF (m );
1376
1387
return NULL ;
@@ -1380,5 +1391,5 @@ _PyWarnings_Init(void)
1380
1391
void
1381
1392
_PyWarnings_Fini (PyInterpreterState * interp )
1382
1393
{
1383
- _Warnings_ClearState (& interp -> warnings );
1394
+ warnings_clear_state (& interp -> warnings );
1384
1395
}
0 commit comments