mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
Handle os.listdir("") case correctly on Windows. Closes bug 500705.
This commit is contained in:
parent
398b9f6d6d
commit
94b866a030
1 changed files with 5 additions and 4 deletions
|
|
@ -980,14 +980,15 @@ posix_listdir(PyObject *self, PyObject *args)
|
||||||
char namebuf[MAX_PATH*2+5];
|
char namebuf[MAX_PATH*2+5];
|
||||||
char *bufptr = namebuf;
|
char *bufptr = namebuf;
|
||||||
int len = sizeof(namebuf)/sizeof(namebuf[0]);
|
int len = sizeof(namebuf)/sizeof(namebuf[0]);
|
||||||
char ch;
|
|
||||||
|
|
||||||
if (!PyArg_ParseTuple(args, "et#:listdir",
|
if (!PyArg_ParseTuple(args, "et#:listdir",
|
||||||
Py_FileSystemDefaultEncoding, &bufptr, &len))
|
Py_FileSystemDefaultEncoding, &bufptr, &len))
|
||||||
return NULL;
|
return NULL;
|
||||||
ch = namebuf[len-1];
|
if (len > 0) {
|
||||||
if (ch != SEP && ch != ALTSEP && ch != ':')
|
char ch = namebuf[len-1];
|
||||||
namebuf[len++] = '/';
|
if (ch != SEP && ch != ALTSEP && ch != ':')
|
||||||
|
namebuf[len++] = '/';
|
||||||
|
}
|
||||||
strcpy(namebuf + len, "*.*");
|
strcpy(namebuf + len, "*.*");
|
||||||
|
|
||||||
if ((d = PyList_New(0)) == NULL)
|
if ((d = PyList_New(0)) == NULL)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue