bpo-36763: Add _PyInitError functions (GH-13395)
* Add _PyInitError functions:
* _PyInitError_Ok()
* _PyInitError_Error()
* _PyInitError_NoMemory()
* _PyInitError_Exit()
* _PyInitError_IsError()
* _PyInitError_IsExit()
* _PyInitError_Failed()
* frozenmain.c and _testembed.c now use functions rather than macros.
* Move _Py_INIT_xxx() macros to the internal API.
* Move _PyWstrList_INIT macro to the internal API.
diff --git a/Programs/_testembed.c b/Programs/_testembed.c
index 000b2fc..2352179 100644
--- a/Programs/_testembed.c
+++ b/Programs/_testembed.c
@@ -389,7 +389,7 @@
preconfig.utf8_mode = 1;
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -512,7 +512,7 @@
config.pathconfig_warnings = 0;
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -543,7 +543,7 @@
config.parse_argv = parse_argv;
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -653,7 +653,7 @@
test_init_env_dev_mode_putenvs();
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -672,7 +672,7 @@
preconfig.isolated = 1;
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -682,7 +682,7 @@
test_init_env_dev_mode_putenvs();
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -701,7 +701,7 @@
preconfig.isolated = 0;
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -717,7 +717,7 @@
test_init_env_dev_mode_putenvs();
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -734,7 +734,7 @@
_PyPreConfig_InitIsolatedConfig(&preconfig);
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -744,13 +744,13 @@
_PyCoreConfig config;
err = _PyCoreConfig_InitIsolatedConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
config.program_name = L"./_testembed";
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -767,19 +767,19 @@
_PyPreConfig_InitPythonConfig(&preconfig);
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
_PyCoreConfig config;
err = _PyCoreConfig_InitPythonConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
config.program_name = L"./_testembed";
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -798,14 +798,14 @@
preconfig.coerce_c_locale_warn = 1;
err = _Py_PreInitialize(&preconfig);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
_PyCoreConfig config = _PyCoreConfig_INIT;
config.program_name = L"./_testembed";
err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -824,7 +824,7 @@
config.dev_mode = 1;
config.program_name = L"./_testembed";
_PyInitError err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
dump_config();
@@ -840,30 +840,30 @@
_PyCoreConfig_Init(&config);
err = _PyCoreConfig_DecodeLocale(&config.program_name, "./init_read_set");
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
goto fail;
}
err = _PyCoreConfig_Read(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
goto fail;
}
if (_PyWstrList_Append(&config.module_search_paths,
L"init_read_set_path") < 0) {
- err = _Py_INIT_NO_MEMORY();
+ err = _PyInitError_NoMemory();
goto fail;
}
/* override executable computed by _PyCoreConfig_Read() */
err = _PyCoreConfig_SetString(&config.executable, L"my_executable");
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
goto fail;
}
err = _Py_InitializeFromConfig(&config);
_PyCoreConfig_Clear(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
goto fail;
}
dump_config();
@@ -898,7 +898,7 @@
configure_init_main(&config);
_PyInitError err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -914,7 +914,7 @@
config._init_main = 0;
_PyInitError err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -928,7 +928,7 @@
}
err = _Py_InitializeMain();
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}
@@ -951,7 +951,7 @@
config.program_name = L"./python3";
_PyInitError err = _Py_InitializeFromConfig(&config);
- if (_Py_INIT_FAILED(err)) {
+ if (_PyInitError_Failed(err)) {
_Py_ExitInitError(err);
}