mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			980 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			980 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include "Python.h"
 | 
						|
#include "osdefs.h"
 | 
						|
 | 
						|
#ifdef HAVE_STDLIB_H
 | 
						|
#include <stdlib.h>
 | 
						|
#else
 | 
						|
extern char *getenv Py_PROTO((const char *));
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
#ifndef PYTHONPATH
 | 
						|
#define PYTHONPATH ".:/usr/local/lib/python"
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/* Return the initial python search path.  This is called once from
 | 
						|
   initsys() to initialize sys.path.  The environment variable
 | 
						|
   PYTHONPATH is fetched and the default path appended.  The default
 | 
						|
   path may be passed to the preprocessor; if not, a system-dependent
 | 
						|
   default is used. */
 | 
						|
 | 
						|
char *
 | 
						|
getpythonpath()
 | 
						|
{
 | 
						|
	char *path = getenv("PYTHONPATH");
 | 
						|
	char *defpath = PYTHONPATH;
 | 
						|
	static char *buf = NULL;
 | 
						|
	char *p;
 | 
						|
	int n;
 | 
						|
 | 
						|
	if (path == NULL)
 | 
						|
		path = "";
 | 
						|
	n = strlen(path) + strlen(defpath) + 2;
 | 
						|
	if (buf != NULL) {
 | 
						|
		free(buf);
 | 
						|
		buf = NULL;
 | 
						|
	}
 | 
						|
	buf = malloc(n);
 | 
						|
	if (buf == NULL)
 | 
						|
		Py_FatalError("not enough memory to copy module search path");
 | 
						|
	strcpy(buf, path);
 | 
						|
	p = buf + strlen(buf);
 | 
						|
	if (p != buf)
 | 
						|
		*p++ = DELIM;
 | 
						|
	strcpy(p, defpath);
 | 
						|
	return buf;
 | 
						|
}
 |