]> granicus.if.org Git - python/commitdiff
Always insert script directory in front of sys.path -- if there's no
authorGuido van Rossum <guido@python.org>
Tue, 30 Jul 1996 20:35:50 +0000 (20:35 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 30 Jul 1996 20:35:50 +0000 (20:35 +0000)
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

index 1b6fab87b9cc45dd28fc6998ba063cdbb1c2ea89..1dc8e177ac80cb22c7fca3ec8a8d9d549445d93a 100644 (file)
@@ -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);
 }