Save static pointer to malloc'ed buffer
This commit is contained in:
parent
a44031031c
commit
6e890b86a8
|
@ -149,27 +149,27 @@ extern char *getenv();
|
||||||
char *
|
char *
|
||||||
getpythonpath()
|
getpythonpath()
|
||||||
{
|
{
|
||||||
#ifdef macintosh
|
|
||||||
return PYTHONPATH;
|
|
||||||
#else /* !macintosh */
|
|
||||||
char *path = getenv("PYTHONPATH");
|
char *path = getenv("PYTHONPATH");
|
||||||
char *defpath = PYTHONPATH;
|
char *defpath = PYTHONPATH;
|
||||||
char *buf;
|
static char *buf = NULL;
|
||||||
char *p;
|
char *p;
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
if (path == 0 || *path == '\0')
|
if (path == NULL)
|
||||||
return defpath;
|
path = "";
|
||||||
n = strlen(path) + strlen(defpath) + 2;
|
n = strlen(path) + strlen(defpath) + 2;
|
||||||
|
if (buf != NULL) {
|
||||||
|
free(buf);
|
||||||
|
buf = NULL;
|
||||||
|
}
|
||||||
buf = malloc(n);
|
buf = malloc(n);
|
||||||
if (buf == NULL)
|
if (buf == NULL)
|
||||||
return path; /* XXX too bad -- but not likely */
|
fatal("not enough memory to copy module search path");
|
||||||
strcpy(buf, path);
|
strcpy(buf, path);
|
||||||
p = buf + strlen(buf);
|
p = buf + strlen(buf);
|
||||||
*p++ = DELIM;
|
*p++ = DELIM;
|
||||||
strcpy(p, defpath);
|
strcpy(p, defpath);
|
||||||
return buf;
|
return buf;
|
||||||
#endif /* !macintosh */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue