This commit is contained in:
rdb 2009-07-24 09:02:35 +00:00
parent a457d59aae
commit 9f3b801c22

View File

@ -214,14 +214,17 @@ ns_get_environment_variable(const string &var) const {
} else if (var == "MAIN_DIR") { } else if (var == "MAIN_DIR") {
#ifdef HAVE_PYTHON #ifdef HAVE_PYTHON
// If we're running from Python code, read out sys.argv. // If we're running from Python code, read out sys.argv.
if (Py_IsInitialized() && PyObject* obj = PySys_GetObject((char*) "argv")) { if (Py_IsInitialized()) {
Filename main_dir (PyString_AsString(PyList_GetItem(obj, 0))); PyObject* obj = PySys_GetObject((char*) "argv");
if (main_dir.empty()) { if (obj) {
// We must be running in the Python interpreter directly, so return the CWD. Filename main_dir (PyString_AsString(PyList_GetItem(obj, 0)));
return get_cwd(); if (main_dir.empty()) {
// We must be running in the Python interpreter directly, so return the CWD.
return get_cwd();
}
main_dir.make_absolute();
return Filename(main_dir.get_dirname()).to_os_specific();
} }
main_dir.make_absolute();
return Filename(main_dir.get_dirname()).to_os_specific();
} }
#endif #endif