[Python-checkins] r42905 - python/trunk/Modules/posixmodule.c
martin.v.loewis
python-checkins at python.org
Wed Mar 8 00:59:38 CET 2006
Author: martin.v.loewis
Date: Wed Mar 8 00:59:33 2006
New Revision: 42905
Modified:
python/trunk/Modules/posixmodule.c
Log:
Reformulate 42903 using an if statement.
Modified: python/trunk/Modules/posixmodule.c
==============================================================================
--- python/trunk/Modules/posixmodule.c (original)
+++ python/trunk/Modules/posixmodule.c Wed Mar 8 00:59:33 2006
@@ -1640,7 +1640,7 @@
PyObject *d, *v;
HANDLE hFindFile;
- BOOL result = FALSE;
+ BOOL result;
WIN32_FIND_DATA FileData;
/* MAX_PATH characters could mean a bigger encoded string */
char namebuf[MAX_PATH*2+5];
@@ -1675,25 +1675,23 @@
return win32_error_unicode("FindFirstFileW", wnamebuf);
}
do {
- if (wFileData.cFileName[0] == L'.' &&
- (wFileData.cFileName[1] == L'\0' ||
- wFileData.cFileName[1] == L'.' &&
- wFileData.cFileName[2] == L'\0'))
- goto loop_w;
- v = PyUnicode_FromUnicode(wFileData.cFileName, wcslen(wFileData.cFileName));
- if (v == NULL) {
- Py_DECREF(d);
- d = NULL;
- break;
- }
- if (PyList_Append(d, v) != 0) {
+ /* Skip over . and .. */
+ if (wcscmp(wFileData.cFileName, L".") != 0 &&
+ wcscmp(wFileData.cFileName, L"..") != 0) {
+ v = PyUnicode_FromUnicode(wFileData.cFileName, wcslen(wFileData.cFileName));
+ if (v == NULL) {
+ Py_DECREF(d);
+ d = NULL;
+ break;
+ }
+ if (PyList_Append(d, v) != 0) {
+ Py_DECREF(v);
+ Py_DECREF(d);
+ d = NULL;
+ break;
+ }
Py_DECREF(v);
- Py_DECREF(d);
- d = NULL;
- break;
}
- Py_DECREF(v);
-loop_w:
Py_BEGIN_ALLOW_THREADS
result = FindNextFileW(hFindFile, &wFileData);
Py_END_ALLOW_THREADS
@@ -1733,25 +1731,23 @@
return win32_error("FindFirstFile", namebuf);
}
do {
- if (FileData.cFileName[0] == '.' &&
- (FileData.cFileName[1] == '\0' ||
- FileData.cFileName[1] == '.' &&
- FileData.cFileName[2] == '\0'))
- goto loop_a;
- v = PyString_FromString(FileData.cFileName);
- if (v == NULL) {
- Py_DECREF(d);
- d = NULL;
- break;
- }
- if (PyList_Append(d, v) != 0) {
+ /* Skip over . and .. */
+ if (strcmp(FileData.cFileName, ".") != 0 &&
+ strcmp(FileData.cFileName, "..") != 0) {
+ v = PyString_FromString(FileData.cFileName);
+ if (v == NULL) {
+ Py_DECREF(d);
+ d = NULL;
+ break;
+ }
+ if (PyList_Append(d, v) != 0) {
+ Py_DECREF(v);
+ Py_DECREF(d);
+ d = NULL;
+ break;
+ }
Py_DECREF(v);
- Py_DECREF(d);
- d = NULL;
- break;
}
- Py_DECREF(v);
-loop_a:
Py_BEGIN_ALLOW_THREADS
result = FindNextFile(hFindFile, &FileData);
Py_END_ALLOW_THREADS
More information about the Python-checkins
mailing list