summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-12-10 00:02:34 +0100
committerCorinna Vinschen <corinna@vinschen.de>2015-12-10 00:02:34 +0100
commiteed35efbe67e3b0588d5afbdf7926eb9f52e5766 (patch)
tree11aa1f6370b9c5cce74850b2f8349436869cf8e1 /winsup/cygwin/fhandler.h
parenta0e7563eb06387eea03c498f4f03dcd29c332a39 (diff)
downloadcygnal-eed35efbe67e3b0588d5afbdf7926eb9f52e5766.tar.gz
cygnal-eed35efbe67e3b0588d5afbdf7926eb9f52e5766.tar.bz2
cygnal-eed35efbe67e3b0588d5afbdf7926eb9f52e5766.zip
Fetch and store FileAllInformation rather than FileNetworkOpenInformation
* path.h (class path_conv_handle): Use FILE_ALL_INFORMATION instead of FILE_NETWORK_OPEN_INFORMATION. Use definitions from ntdll.h since it's included anyway. (path_conv_handle::fai): Change name from fnoi. (path_conv::fai): Ditto. (file_get_fai): Change name from file_get_fnoi. Drop second parameter. * path.cc (file_get_fai): Ditto. Fetch FileAllInformation rather than FileNetworkOpenInformation. Convert STATUS_BUFFER_OVERFLOW to STATUS_SUCCESS. Remove workaround to fetch FileBasicInformation and FileStandardInformation on filesystems with broken FileNetworkOpenInformation handling. (symlink_info::check): Accommodate above changes. In case of using the NtQueryDirectoryFile fallback, fetch FileIdBothDirectoryInformation to get inode number as well. * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop outdated comment. Accommodate change to using FileAllInformation. Drop extra function calls to fetch NumberOfLinks and IndexNumber. Set ino directly from IndexNumber stored in pc.fai(). Drop second argument from call to fstat_helper. (fhandler_base::fstat_by_name): Drop second argument from call to fstat_helper. (fhandler_base::fstat_helper): Drop second parameter. Accommodate the fact that we access a FILE_ALL_INFORMATION structure now. (fhandler_base::open_fs): Set ino directly from IndexNumber stored in pc.fai(). * fhandler.h (fhandler_base::fstat_helper): Fix declaration accrdingly. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r--winsup/cygwin/fhandler.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 43e56efa6..adb84414e 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -341,8 +341,7 @@ class fhandler_base
void __reg2 stat_fixup (struct stat *buf);
int __reg2 fstat_fs (struct stat *buf);
private:
- int __reg3 fstat_helper (struct stat *buf,
- DWORD nNumberOfLinks);
+ int __reg2 fstat_helper (struct stat *buf);
int __reg2 fstat_by_nfs_ea (struct stat *buf);
int __reg2 fstat_by_handle (struct stat *buf);
int __reg2 fstat_by_name (struct stat *buf);