From 6e890b86a87b36b148d802b03e0ab55d471cfd74 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Wed, 5 Oct 1994 12:25:12 +0000
Subject: Save static pointer to malloc'ed buffer

---
 Modules/config.c.in | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Modules/config.c.in b/Modules/config.c.in
index 7843f14..981a19f 100644
--- a/Modules/config.c.in
+++ b/Modules/config.c.in
@@ -149,27 +149,27 @@ extern char *getenv();
 char *
 getpythonpath()
 {
-#ifdef macintosh
-	return PYTHONPATH;
-#else /* !macintosh */
 	char *path = getenv("PYTHONPATH");
 	char *defpath = PYTHONPATH;
-	char *buf;
+	static char *buf = NULL;
 	char *p;
 	int n;
 
-	if (path == 0 || *path == '\0')
-		return defpath;
+	if (path == NULL)
+		path = "";
 	n = strlen(path) + strlen(defpath) + 2;
+	if (buf != NULL) {
+		free(buf);
+		buf = NULL;
+	}
 	buf = malloc(n);
 	if (buf == NULL)
-		return path; /* XXX too bad -- but not likely */
+		fatal("not enough memory to copy module search path");
 	strcpy(buf, path);
 	p = buf + strlen(buf);
 	*p++ = DELIM;
 	strcpy(p, defpath);
 	return buf;
-#endif /* !macintosh */
 }
 
 
-- 
cgit v0.12

