summaryrefslogtreecommitdiffstats
path: root/Python/coreconfig.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-05-17 21:54:00 (GMT)
committerGitHub <noreply@github.com>2019-05-17 21:54:00 (GMT)
commit871ff77c1cd334a141d52b0d003c080a1928731e (patch)
tree0c7c37e1d28f52fc8967bc3d85da5bb68a13fa8a /Python/coreconfig.c
parent12083284c54be25abadd85781d36b63731dc1f0c (diff)
downloadcpython-871ff77c1cd334a141d52b0d003c080a1928731e.zip
cpython-871ff77c1cd334a141d52b0d003c080a1928731e.tar.gz
cpython-871ff77c1cd334a141d52b0d003c080a1928731e.tar.bz2
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.
Diffstat (limited to 'Python/coreconfig.c')
-rw-r--r--Python/coreconfig.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/Python/coreconfig.c b/Python/coreconfig.c
index 2e8f4cf..3c17e35 100644
--- a/Python/coreconfig.c
+++ b/Python/coreconfig.c
@@ -203,6 +203,34 @@ fail:
}
+/* --- _PyInitError ----------------------------------------------- */
+
+_PyInitError _PyInitError_Ok(void)
+{ return _Py_INIT_OK(); }
+
+_PyInitError _PyInitError_Error(const char *err_msg)
+{
+ return (_PyInitError){._type = _Py_INIT_ERR_TYPE_ERROR,
+ .err_msg = err_msg};
+}
+
+_PyInitError _PyInitError_NoMemory(void)
+{ return _PyInitError_Error("memory allocation failed"); }
+
+_PyInitError _PyInitError_Exit(int exitcode)
+{ return _Py_INIT_EXIT(exitcode); }
+
+
+int _PyInitError_IsError(_PyInitError err)
+{ return _Py_INIT_IS_ERROR(err); }
+
+int _PyInitError_IsExit(_PyInitError err)
+{ return _Py_INIT_IS_EXIT(err); }
+
+int _PyInitError_Failed(_PyInitError err)
+{ return _Py_INIT_FAILED(err); }
+
+
/* --- _PyWstrList ------------------------------------------------ */
#ifndef NDEBUG