You've already forked gnatcoll-bindings
mirror of
https://github.com/AdaCore/gnatcoll-bindings.git
synced 2026-02-12 12:59:11 -08:00
Fix issue with binding of the interpreter lifecycle functions
* Py_SetProgramName expect a *wchar_t * Py_SetPythonhome expect a *wchar_t * Py_Main except decoded arguments as *wchar_t * Expose function Py_DecodeLocale Part of T518-013 Change-Id: I3ad1df239203ecf70e5de7dfe78aed202cd21666
This commit is contained in:
@@ -674,13 +674,22 @@ extern int gnat_argc;
|
||||
extern char **gnat_argv;
|
||||
|
||||
int
|
||||
ada_py_main ()
|
||||
__gnatcoll_py_main ()
|
||||
{
|
||||
#if PY_MAJOR_VERSION >= 3
|
||||
return Py_Main (gnat_argc, (wchar_t**) gnat_argv);
|
||||
#else
|
||||
return Py_Main (gnat_argc, (char**) gnat_argv);
|
||||
#endif
|
||||
wchar_t *w_gnat_argv[gnat_argc];
|
||||
int result;
|
||||
|
||||
for (int i=0; i<gnat_argc; i++) {
|
||||
w_gnat_argv[i] = Py_DecodeLocale(gnat_argv[i], NULL);
|
||||
}
|
||||
|
||||
result = Py_Main (gnat_argc, w_gnat_argv);
|
||||
|
||||
for (int i=0; i<gnat_argc; i++) {
|
||||
PyMem_RawFree((void *) w_gnat_argv[i]);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
PyObject*
|
||||
|
||||
Reference in New Issue
Block a user