diff options
Diffstat (limited to 'RISCOS/Modules/getpath_riscos.c')
-rw-r--r-- | RISCOS/Modules/getpath_riscos.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/RISCOS/Modules/getpath_riscos.c b/RISCOS/Modules/getpath_riscos.c new file mode 100644 index 0000000..7582b17 --- /dev/null +++ b/RISCOS/Modules/getpath_riscos.c @@ -0,0 +1,56 @@ +#include "Python.h" +#include "osdefs.h" + +static char *prefix,*exec_prefix,*progpath,*module_search_path=0; + +static void +calculate_path() +{ char *pypath=getenv("Python$Path"); + if(pypath) + { module_search_path=malloc(strlen(pypath)+1); + if (module_search_path) sprintf(module_search_path,"%s",pypath); + else + { /* We can't exit, so print a warning and limp along */ + fprintf(stderr, "Not enough memory for dynamic PYTHONPATH.\n"); + fprintf(stderr, "Using default static PYTHONPATH.\n"); + } + } + if(!module_search_path) module_search_path = "<Python$Dir>.Lib"; + prefix=""; + exec_prefix=prefix; + progpath="<Python$Dir>"; +} + +/* External interface */ + +char * +Py_GetPath() +{ + if (!module_search_path) + calculate_path(); + return module_search_path; +} + +char * +Py_GetPrefix() +{ + if (!module_search_path) + calculate_path(); + return prefix; +} + +char * +Py_GetExecPrefix() +{ + if (!module_search_path) + calculate_path(); + return exec_prefix; +} + +char * +Py_GetProgramFullPath() +{ + if (!module_search_path) + calculate_path(); + return progpath; +} |