Kaydet (Commit) a63d9f4d authored tarafından Guido van Rossum's avatar Guido van Rossum

As a side effect of calling PySys_SetArgv (setpythonargv), the

directory containing argv[0] is inserted in front of sys.path.
If argv[0] contains no directory, an empty string is inserted.
If argv is empty, nothing happens.
üst 3b8e20d2
......@@ -364,5 +364,23 @@ setpythonargv(argc, argv)
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);
}
}
DECREF(av);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment