Files
CMake/Tests/FindPython/display_time.c
Marc Chevrier 3fad553ea5 FindPython: enhance Python3Embedded test
Exclude too older compilers and avoid deprecated functions.

Fixes: #26459
2024-11-22 14:02:09 +01:00

42 lines
860 B
C

#include <stdio.h>
#define PY_SSIZE_T_CLEAN
#include <Python.h>
#include "display_time.h"
void display_time(void)
{
#if defined(PYTHON3)
PyConfig config;
PyStatus status;
PyConfig_InitPythonConfig(&config);
status =
PyConfig_SetBytesString(&config, &config.program_name, "display_time");
if (PyStatus_Exception(status)) {
Py_ExitStatusException(status);
}
char* cmd = "from time import time,ctime\n"
"print('Today is', ctime(time()))\n";
#else
char* program = "display_time";
char* cmd = "from time import time,ctime\n"
"print 'Today is', ctime(time())\n";
Py_SetProgramName(program); /* optional but recommended */
#endif
Py_Initialize();
PyRun_SimpleString(cmd);
#if defined(PYTHON3)
if (Py_FinalizeEx() < 0) {
exit(120);
}
PyConfig_Clear(&config);
#else
Py_Finalize();
#endif
}