/RISCOS/Modules/getpath_riscos.c
http://unladen-swallow.googlecode.com/ · C · 60 lines · 52 code · 7 blank · 1 comment · 8 complexity · 49972891f21711690bc912a4f4efa9c7 MD5 · raw file
- #include "Python.h"
- #include "osdefs.h"
- static char *prefix, *exec_prefix, *progpath, *module_search_path=NULL;
- static void
- calculate_path()
- {
- char *pypath = getenv("Python$Path");
- if (pypath) {
- int pathlen = strlen(pypath);
- module_search_path = malloc(pathlen + 1);
- if (module_search_path)
- strncpy(module_search_path, pypath, pathlen + 1);
- else {
- fprintf(stderr,
- "Not enough memory for dynamic PYTHONPATH.\n"
- "Using default static PYTHONPATH.\n");
- }
- }
- if (!module_search_path)
- module_search_path = "<Python$Dir>.Lib";
- prefix = "<Python$Dir>";
- exec_prefix = prefix;
- progpath = Py_GetProgramName();
- }
- /* 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;
- }