summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1996-07-30 20:35:50 (GMT)
committerGuido van Rossum <guido@python.org>1996-07-30 20:35:50 (GMT)
commit94a9667f1ae1a5717839a7468a93e4fe1135d795 (patch)
tree8f1127884afeea53c6dc096952b464eaa8ebccb8 /Python
parent9afdabffa9c54d3831182a73321b9edbde195736 (diff)
downloadcpython-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.c34
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);
}