Mercurial > cpython-lru_cache-weakref
comparison Python/sysmodule.c @ 3877:408e374934e5 legacy-trunk
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).
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 30 Jul 1996 20:35:50 +0000 |
| parents | 93868c7a15c9 |
| children | c80c515999b9 |
comparison
equal
deleted
inserted
replaced
| 3876:0638fdc23eec | 3877:408e374934e5 |
|---|---|
| 358 setpythonargv(argc, argv) | 358 setpythonargv(argc, argv) |
| 359 int argc; | 359 int argc; |
| 360 char **argv; | 360 char **argv; |
| 361 { | 361 { |
| 362 object *av = makeargvobject(argc, argv); | 362 object *av = makeargvobject(argc, argv); |
| 363 object *path = sysget("path"); | |
| 363 if (av == NULL) | 364 if (av == NULL) |
| 364 fatal("no mem for sys.argv"); | 365 fatal("no mem for sys.argv"); |
| 365 if (sysset("argv", av) != 0) | 366 if (sysset("argv", av) != 0) |
| 366 fatal("can't assign sys.argv"); | 367 fatal("can't assign sys.argv"); |
| 367 if (argc > 0) { | 368 if (path != NULL) { |
| 368 object *path = sysget("path"); | 369 char *p = NULL; |
| 369 if (path != NULL) { | 370 int n; |
| 370 char *p = strrchr(argv[0], SEP); | 371 object *a; |
| 371 int n; | 372 if (argc > 0 && argv[0] != NULL) |
| 372 object *a; | 373 p = strrchr(argv[0], SEP); |
| 373 if (p == NULL) | 374 if (p == NULL) |
| 374 n = 0; | 375 n = 0; |
| 375 else | 376 else |
| 376 n = p + 1 - argv[0]; | 377 n = p + 1 - argv[0]; |
| 377 a = newsizedstringobject(argv[0], n); | 378 a = newsizedstringobject(argv[0], n); |
| 378 if (a == NULL) | 379 if (a == NULL) |
| 379 fatal("no mem for sys.path insertion"); | 380 fatal("no mem for sys.path insertion"); |
| 380 if (inslistitem(path, 0, a) < 0) | 381 if (inslistitem(path, 0, a) < 0) |
| 381 fatal("sys.path.insert(0) failed"); | 382 fatal("sys.path.insert(0) failed"); |
| 382 DECREF(a); | 383 DECREF(a); |
| 383 } | |
| 384 } | 384 } |
| 385 DECREF(av); | 385 DECREF(av); |
| 386 } | 386 } |
