PyAPI: don't use deprecated PyModule_GetFilename
Allows compiling with newer Python versions. Also add missing decref when compiling as a py-module.
This commit is contained in:
@@ -300,7 +300,14 @@ void PyC_FileAndNum(const char **filename, int *lineno)
|
||||
if (mod_name) {
|
||||
PyObject *mod = PyDict_GetItem(PyImport_GetModuleDict(), mod_name);
|
||||
if (mod) {
|
||||
*filename = PyModule_GetFilename(mod);
|
||||
PyObject *mod_file = PyModule_GetFilenameObject(mod);
|
||||
if (mod_file) {
|
||||
*filename = _PyUnicode_AsString(mod_name);
|
||||
Py_DECREF(mod_file);
|
||||
}
|
||||
else {
|
||||
PyErr_Clear();
|
||||
}
|
||||
}
|
||||
|
||||
/* unlikely, fallback */
|
||||
|
||||
Reference in New Issue
Block a user