diff options
author | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2009-06-29 11:37:19 (GMT) |
---|---|---|
committer | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2009-06-29 11:37:19 (GMT) |
commit | 6fbdfdabb616caa7bc815fb8bfae802302ac2fff (patch) | |
tree | 1daa67803cf8442578172de41f789a8779704358 /Modules/posixmodule.c | |
parent | 3d2eca0edaa864edaefd77988d103d2b5179e781 (diff) | |
download | cpython-6fbdfdabb616caa7bc815fb8bfae802302ac2fff.zip cpython-6fbdfdabb616caa7bc815fb8bfae802302ac2fff.tar.gz cpython-6fbdfdabb616caa7bc815fb8bfae802302ac2fff.tar.bz2 |
Merged revisions 73675 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73675 | hirokazu.yamamoto | 2009-06-29 20:27:03 +0900 | 3 lines
Issue #4856: Py_GetFileAttributesEx[AW] are not needed because GetFileAttributesEx[AW]
won't fail with ERROR_CALL_NOT_IMPLEMENTED on win NT.
Reviewed by Amaury Forgeot d'Arc.
........
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r-- | Modules/posixmodule.c | 60 |
1 files changed, 2 insertions, 58 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 0aebf17..f767798 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1024,68 +1024,13 @@ attributes_from_dir_w(LPCWSTR pszFile, LPWIN32_FILE_ATTRIBUTE_DATA pfad) return TRUE; } -static BOOL WINAPI -Py_GetFileAttributesExA(LPCSTR pszFile, - GET_FILEEX_INFO_LEVELS level, - LPVOID pv) -{ - BOOL result; - LPWIN32_FILE_ATTRIBUTE_DATA pfad = pv; - /* First try to use the system's implementation, if that is - available and either succeeds to gives an error other than - that it isn't implemented. */ - result = GetFileAttributesExA(pszFile, level, pv); - if (result || GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) - return result; - /* It's either not present, or not implemented. - Emulate using FindFirstFile. */ - if (level != GetFileExInfoStandard) { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - /* Use GetFileAttributes to validate that the file name - does not contain wildcards (which FindFirstFile would - accept). */ - if (GetFileAttributesA(pszFile) == 0xFFFFFFFF) - return FALSE; - return attributes_from_dir(pszFile, pfad); -} - -static BOOL WINAPI -Py_GetFileAttributesExW(LPCWSTR pszFile, - GET_FILEEX_INFO_LEVELS level, - LPVOID pv) -{ - BOOL result; - LPWIN32_FILE_ATTRIBUTE_DATA pfad = pv; - /* First try to use the system's implementation, if that is - available and either succeeds to gives an error other than - that it isn't implemented. */ - result = GetFileAttributesExW(pszFile, level, pv); - if (result || GetLastError() != ERROR_CALL_NOT_IMPLEMENTED) - return result; - /* It's either not present, or not implemented. - Emulate using FindFirstFile. */ - if (level != GetFileExInfoStandard) { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - } - /* Use GetFileAttributes to validate that the file name - does not contain wildcards (which FindFirstFile would - accept). */ - if (GetFileAttributesW(pszFile) == 0xFFFFFFFF) - return FALSE; - return attributes_from_dir_w(pszFile, pfad); -} - static int win32_stat(const char* path, struct win32_stat *result) { WIN32_FILE_ATTRIBUTE_DATA info; int code; char *dot; - /* XXX not supported on Win95 and NT 3.x */ - if (!Py_GetFileAttributesExA(path, GetFileExInfoStandard, &info)) { + if (!GetFileAttributesExA(path, GetFileExInfoStandard, &info)) { if (GetLastError() != ERROR_SHARING_VIOLATION) { /* Protocol violation: we explicitly clear errno, instead of setting it to a POSIX error. Callers should use GetLastError. */ @@ -1122,8 +1067,7 @@ win32_wstat(const wchar_t* path, struct win32_stat *result) int code; const wchar_t *dot; WIN32_FILE_ATTRIBUTE_DATA info; - /* XXX not supported on Win95 and NT 3.x */ - if (!Py_GetFileAttributesExW(path, GetFileExInfoStandard, &info)) { + if (!GetFileAttributesExW(path, GetFileExInfoStandard, &info)) { if (GetLastError() != ERROR_SHARING_VIOLATION) { /* Protocol violation: we explicitly clear errno, instead of setting it to a POSIX error. Callers should use GetLastError. */ |