mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
bpo-32030: Make _PySys_AddXOptionWithError() private (GH-10236)
Make _PySys_AddXOptionWithError() and _PySys_AddWarnOptionWithError() functions private again. They are no longer needed to initialize Python: _PySys_EndInit() is now responsible to add these options instead. Moreover, PySys_AddWarnOptionUnicode() now clears the exception on failure if possible.
This commit is contained in:
@@ -1807,7 +1807,7 @@ PySys_ResetWarnOptions(void)
|
||||
PyList_SetSlice(warnoptions, 0, PyList_GET_SIZE(warnoptions), NULL);
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
_PySys_AddWarnOptionWithError(PyObject *option)
|
||||
{
|
||||
PyObject *warnoptions = get_warnoptions();
|
||||
@@ -1823,7 +1823,12 @@ _PySys_AddWarnOptionWithError(PyObject *option)
|
||||
void
|
||||
PySys_AddWarnOptionUnicode(PyObject *option)
|
||||
{
|
||||
(void)_PySys_AddWarnOptionWithError(option);
|
||||
if (_PySys_AddWarnOptionWithError(option) < 0) {
|
||||
/* No return value, therefore clear error state if possible */
|
||||
if (_PyThreadState_UncheckedGet()) {
|
||||
PyErr_Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@@ -1877,7 +1882,7 @@ get_xoptions(void)
|
||||
return xoptions;
|
||||
}
|
||||
|
||||
int
|
||||
static int
|
||||
_PySys_AddXOptionWithError(const wchar_t *s)
|
||||
{
|
||||
PyObject *name = NULL, *value = NULL;
|
||||
|
||||
Reference in New Issue
Block a user