37 lines
777 B
C
37 lines
777 B
C
|
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#define PY_SSIZE_T_CLEAN
|
||
|
#include <Python.h>
|
||
|
|
||
|
#include "display_time.h"
|
||
|
|
||
|
void display_time()
|
||
|
{
|
||
|
#if defined(PYTHON3)
|
||
|
wchar_t* program = Py_DecodeLocale("display_time", NULL);
|
||
|
if (program == NULL) {
|
||
|
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
|
||
|
exit(1);
|
||
|
}
|
||
|
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";
|
||
|
#endif
|
||
|
|
||
|
Py_SetProgramName(program); /* optional but recommended */
|
||
|
Py_Initialize();
|
||
|
PyRun_SimpleString(cmd);
|
||
|
#if defined(PYTHON3)
|
||
|
if (Py_FinalizeEx() < 0) {
|
||
|
exit(120);
|
||
|
}
|
||
|
PyMem_RawFree(program);
|
||
|
#else
|
||
|
Py_Finalize();
|
||
|
#endif
|
||
|
}
|