summaryrefslogtreecommitdiffstats
path: root/RISCOS/Modules/getpath_riscos.c
diff options
context:
space:
mode:
Diffstat (limited to 'RISCOS/Modules/getpath_riscos.c')
-rw-r--r--RISCOS/Modules/getpath_riscos.c56
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;
+}