1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

win32.c: check error code

* win32/win32.c (w32_io_info): check GetFileInformationByHandleEx
  error code to fallback to GetFileInformationByHandle.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-12-08 06:20:06 +00:00
parent a4804fbdf5
commit 23c86d84e6

View file

@ -8050,7 +8050,12 @@ w32_io_info(VALUE *file, w32_io_info_t *st)
st->file_id_p = TRUE; st->file_id_p = TRUE;
return ret; return ret;
} }
/* may not work at files on network drives, fallback to old API. */ else if (GetLastError() != ERROR_INVALID_PARAMETER) {
CloseHandle(f);
return FALSE;
}
/* this API may not wrok at files on non Microsoft SMB
* server, fallback to old API then. */
} }
if (GetFileInformationByHandle(f, &st->info.bhfi)) { if (GetFileInformationByHandle(f, &st->info.bhfi)) {
st->file_id_p = FALSE; st->file_id_p = FALSE;