equal
deleted
inserted
replaced
205 } |
205 } |
206 strcpy(pattern + plen, "*"); |
206 strcpy(pattern + plen, "*"); |
207 |
207 |
208 fh = FindFirstFileA(pattern, &fd); |
208 fh = FindFirstFileA(pattern, &fd); |
209 if (fh == INVALID_HANDLE_VALUE) { |
209 if (fh == INVALID_HANDLE_VALUE) { |
210 PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError, |
210 PyErr_SetFromWindowsErrWithFilename(GetLastError(), path); |
211 GetLastError(), |
|
212 path); |
|
213 goto error_file; |
211 goto error_file; |
214 } |
212 } |
215 |
213 |
216 list = PyList_New(0); |
214 list = PyList_New(0); |
217 if (!list) |
215 if (!list) |
242 |
240 |
243 Py_XDECREF(item); |
241 Py_XDECREF(item); |
244 } while (FindNextFileA(fh, &fd)); |
242 } while (FindNextFileA(fh, &fd)); |
245 |
243 |
246 if (GetLastError() != ERROR_NO_MORE_FILES) { |
244 if (GetLastError() != ERROR_NO_MORE_FILES) { |
247 PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError, |
245 PyErr_SetFromWindowsErrWithFilename(GetLastError(), path); |
248 GetLastError(), |
|
249 path); |
|
250 goto error; |
246 goto error; |
251 } |
247 } |
252 |
248 |
253 rval = list; |
249 rval = list; |
254 Py_XINCREF(rval); |
250 Py_XINCREF(rval); |
292 |
288 |
293 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|Os:listdir", kwlist, |
289 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|Os:listdir", kwlist, |
294 &path, &pathlen, &statflag, &skip)) |
290 &path, &pathlen, &statflag, &skip)) |
295 goto error_parse; |
291 goto error_parse; |
296 |
292 |
297 if (pathlen >= PATH_MAX) |
293 if (pathlen >= PATH_MAX) { |
298 goto error_parse; |
294 PyErr_SetString(PyExc_ValueError, "path too long"); |
299 |
295 goto error_parse; |
|
296 } |
300 strncpy(fullpath, path, PATH_MAX); |
297 strncpy(fullpath, path, PATH_MAX); |
301 fullpath[pathlen] = '/'; |
298 fullpath[pathlen] = '/'; |
302 keepstat = statflag && PyObject_IsTrue(statflag); |
299 keepstat = statflag && PyObject_IsTrue(statflag); |
303 |
300 |
304 #ifdef AT_SYMLINK_NOFOLLOW |
301 #ifdef AT_SYMLINK_NOFOLLOW |