Python: Do some cleanup in nxt_python3_init_config().

This is a preparatory patch for future work and cleans up the code a
little in the Python 3.8+ variant of nxt_python3_init_config().

The main advantage being we no longer have calls to PyConfig_Clear() in
two different paths.

The variables have a little extra space in their declarations to allow
for the next patch which introduces a variable with a longer type name,
which will help reduce the size of the diff.

Reviewed-by: Alejandro Colomar <alx@nginx.com>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
This commit is contained in:
Andrew Clayton 2022-12-30 00:07:20 +00:00
parent 2596a89527
commit fcbb26e92a

View file

@ -75,8 +75,11 @@ static nxt_python_proto_t nxt_py_proto;
static nxt_int_t
nxt_python3_init_config(nxt_int_t pep405)
{
PyStatus status;
PyConfig config;
PyConfig config;
PyStatus status;
nxt_int_t ret;
ret = NXT_ERROR;
PyConfig_InitIsolatedConfig(&config);
@ -84,29 +87,28 @@ nxt_python3_init_config(nxt_int_t pep405)
status = PyConfig_SetString(&config, &config.program_name,
nxt_py_home);
if (PyStatus_Exception(status)) {
goto pyinit_exception;
goto out_config_clear;
}
} else {
status =PyConfig_SetString(&config, &config.home, nxt_py_home);
status = PyConfig_SetString(&config, &config.home, nxt_py_home);
if (PyStatus_Exception(status)) {
goto pyinit_exception;
goto out_config_clear;
}
}
status = Py_InitializeFromConfig(&config);
if (PyStatus_Exception(status)) {
goto pyinit_exception;
goto out_config_clear;
}
PyConfig_Clear(&config);
return NXT_OK;
ret = NXT_OK;
pyinit_exception:
out_config_clear:
PyConfig_Clear(&config);
return NXT_ERROR;
return ret;
}
#elif PY_MAJOR_VERSION == 3