Mercurial > cpython-lru_cache-weakref
diff Python/sysmodule.c @ 27156:585a6460f577 legacy-trunk
Patch #664376: sys.path[0] should contain absolute pathname.
This fixes the problem on Windows - that's the only system where I can
test it.
It leaves sys.argv alone and only changes sys.path[0] to an absolute
pathname.
| author | Thomas Heller <theller@ctypes.org> |
|---|---|
| date | Wed, 08 Jan 2003 14:33:48 +0000 |
| parents | 4a825b902310 |
| children | 16856c9514e0 |
line wrap: on
line diff
--- a/Python/sysmodule.c Wed Jan 08 07:21:53 2003 +0000 +++ b/Python/sysmodule.c Wed Jan 08 14:33:48 2003 +0000 @@ -969,6 +969,9 @@ void PySys_SetArgv(int argc, char **argv) { +#ifdef MS_WINDOWS + char fullpath[MAX_PATH]; +#endif PyObject *av = makeargvobject(argc, argv); PyObject *path = PySys_GetObject("path"); if (av == NULL) @@ -1011,6 +1014,15 @@ #if SEP == '\\' /* Special case for MS filename syntax */ if (argc > 0 && argv0 != NULL) { char *q; +#ifdef MS_WINDOWS + char *ptemp; + if (GetFullPathName(argv0, + sizeof(fullpath), + fullpath, + &ptemp)) { + argv0 = fullpath; + } +#endif p = strrchr(argv0, SEP); /* Test for alternate separator */ q = strrchr(p ? p : argv0, '/');
