annotate Modules/getpath.c @ 3044:7e7bb00a0a2e legacy-trunk

Added functionality: locate CW projects, copy them, empty them and binhex them.
author Jack Jansen <jack.jansen@cwi.nl>
date Thu, 31 Aug 1995 13:47:14 +0000
parents f0d9f800a4aa
children b6c0a41e4a46
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 #include "Python.h"
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 #include "osdefs.h"
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 #ifndef PYTHONPATH
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 #define PYTHONPATH ".:/usr/local/lib/python"
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 #endif
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 /* Return the initial python search path. This is called once from
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 initsys() to initialize sys.path. The environment variable
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 PYTHONPATH is fetched and the default path appended. The default
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 path may be passed to the preprocessor; if not, a system-dependent
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 default is used. */
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 char *
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 getpythonpath()
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 {
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 char *path = getenv("PYTHONPATH");
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 char *defpath = PYTHONPATH;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 static char *buf = NULL;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 char *p;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 int n;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 if (path == NULL)
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 path = "";
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 n = strlen(path) + strlen(defpath) + 2;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 if (buf != NULL) {
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 free(buf);
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 buf = NULL;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 }
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 buf = malloc(n);
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 if (buf == NULL)
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 Py_FatalError("not enough memory to copy module search path");
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 strcpy(buf, path);
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 p = buf + strlen(buf);
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 if (p != buf)
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 *p++ = DELIM;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 strcpy(p, defpath);
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 return buf;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 }