Lines 2179-2189
Link Here
|
2179 |
return NULL; |
2179 |
return NULL; |
2180 |
} |
2180 |
} |
2181 |
for (;;) { |
2181 |
for (;;) { |
|
|
2182 |
errno = 0; |
2182 |
Py_BEGIN_ALLOW_THREADS |
2183 |
Py_BEGIN_ALLOW_THREADS |
2183 |
ep = readdir(dirp); |
2184 |
ep = readdir(dirp); |
2184 |
Py_END_ALLOW_THREADS |
2185 |
Py_END_ALLOW_THREADS |
2185 |
if (ep == NULL) |
2186 |
if (ep == NULL) { |
2186 |
break; |
2187 |
if (errno == 0) { |
|
|
2188 |
break; |
2189 |
} else { |
2190 |
closedir(dirp); |
2191 |
Py_DECREF(d); |
2192 |
return posix_error_with_allocated_filename(name); |
2193 |
} |
2194 |
} |
2187 |
if (ep->d_name[0] == '.' && |
2195 |
if (ep->d_name[0] == '.' && |
2188 |
(NAMLEN(ep) == 1 || |
2196 |
(NAMLEN(ep) == 1 || |
2189 |
(ep->d_name[1] == '.' && NAMLEN(ep) == 2))) |
2197 |
(ep->d_name[1] == '.' && NAMLEN(ep) == 2))) |
Lines 2220-2231
Link Here
|
2220 |
} |
2228 |
} |
2221 |
Py_DECREF(v); |
2229 |
Py_DECREF(v); |
2222 |
} |
2230 |
} |
2223 |
if (errno != 0 && d != NULL) { |
|
|
2224 |
/* readdir() returned NULL and set errno */ |
2225 |
closedir(dirp); |
2226 |
Py_DECREF(d); |
2227 |
return posix_error_with_allocated_filename(name); |
2228 |
} |
2229 |
closedir(dirp); |
2231 |
closedir(dirp); |
2230 |
PyMem_Free(name); |
2232 |
PyMem_Free(name); |
2231 |
|
2233 |
|