From 94a9667f1ae1a5717839a7468a93e4fe1135d795 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 30 Jul 1996 20:35:50 +0000 Subject: 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). --- Python/sysmodule.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'Python/sysmodule.c') diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 1b6fab87b9..1dc8e177ac 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); } -- cgit v1.2.1