diff options
author | Guido van Rossum <guido@python.org> | 1996-07-30 20:35:50 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-07-30 20:35:50 (GMT) |
commit | 94a9667f1ae1a5717839a7468a93e4fe1135d795 (patch) | |
tree | 8f1127884afeea53c6dc096952b464eaa8ebccb8 /Python | |
parent | 9afdabffa9c54d3831182a73321b9edbde195736 (diff) | |
download | cpython-94a9667f1ae1a5717839a7468a93e4fe1135d795.zip cpython-94a9667f1ae1a5717839a7468a93e4fe1135d795.tar.gz cpython-94a9667f1ae1a5717839a7468a93e4fe1135d795.tar.bz2 |
Always insert script directory in front of sys.path -- if there's no
sys.argv, insert "". Note that "." is removed as a default component
of the path (see changes to getpath.c and Setup.in).
Diffstat (limited to 'Python')
-rw-r--r-- | Python/sysmodule.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 1b6fab8..1dc8e17 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -360,27 +360,27 @@ setpythonargv(argc, argv) char **argv; { object *av = makeargvobject(argc, argv); + object *path = sysget("path"); if (av == NULL) fatal("no mem for sys.argv"); if (sysset("argv", av) != 0) fatal("can't assign sys.argv"); - if (argc > 0) { - object *path = sysget("path"); - if (path != NULL) { - char *p = strrchr(argv[0], SEP); - int n; - object *a; - if (p == NULL) - n = 0; - else - n = p + 1 - argv[0]; - a = newsizedstringobject(argv[0], n); - if (a == NULL) - fatal("no mem for sys.path insertion"); - if (inslistitem(path, 0, a) < 0) - fatal("sys.path.insert(0) failed"); - DECREF(a); - } + if (path != NULL) { + char *p = NULL; + int n; + object *a; + if (argc > 0 && argv[0] != NULL) + p = strrchr(argv[0], SEP); + if (p == NULL) + n = 0; + else + n = p + 1 - argv[0]; + a = newsizedstringobject(argv[0], n); + if (a == NULL) + fatal("no mem for sys.path insertion"); + if (inslistitem(path, 0, a) < 0) + fatal("sys.path.insert(0) failed"); + DECREF(a); } DECREF(av); } |