PageRenderTime 17ms CodeModel.GetById 12ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/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
 1#include "Python.h"
 2#include "osdefs.h"
 3
 4static char *prefix, *exec_prefix, *progpath, *module_search_path=NULL;
 5
 6static void
 7calculate_path()
 8{ 
 9	char *pypath = getenv("Python$Path");
10	if (pypath) {
11		int pathlen = strlen(pypath);
12		module_search_path = malloc(pathlen + 1);
13		if (module_search_path) 
14			strncpy(module_search_path, pypath, pathlen + 1);
15		else {
16			fprintf(stderr, 
17				"Not enough memory for dynamic PYTHONPATH.\n"
18				"Using default static PYTHONPATH.\n");
19		}
20	}
21	if (!module_search_path) 
22		module_search_path = "<Python$Dir>.Lib";
23	prefix = "<Python$Dir>";
24	exec_prefix = prefix;
25	progpath = Py_GetProgramName();
26}
27
28/* External interface */
29
30char *
31Py_GetPath()
32{
33	if (!module_search_path)
34		calculate_path();
35	return module_search_path;
36}
37
38char *
39Py_GetPrefix()
40{
41	if (!module_search_path)
42		calculate_path();
43	return prefix;
44}
45
46char *
47Py_GetExecPrefix()
48{
49	if (!module_search_path)
50		calculate_path();
51	return exec_prefix;
52}
53
54char *
55Py_GetProgramFullPath()
56{
57	if (!module_search_path)
58		calculate_path();
59	return progpath;
60}