summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-12-15 04:16:42 +0000
committerChristopher Faylor <me@cgf.cx>2003-12-15 04:16:42 +0000
commit9908d9977b131249201b9c19219fd7d61fd65701 (patch)
treef57144fb183b3f75b68602d708a6704fde7be29a /winsup/cygwin/syscalls.cc
parent228f99a6c1a60d778fe0182ad9e66b8cd755daf8 (diff)
downloadcygnal-9908d9977b131249201b9c19219fd7d61fd65701.tar.gz
cygnal-9908d9977b131249201b9c19219fd7d61fd65701.tar.bz2
cygnal-9908d9977b131249201b9c19219fd7d61fd65701.zip
* winsup.h (access_worker): Declare with added fhandler_base parameter.
* syscalls.cc (access_worker): Accommodate extra fhandler_base argument. Use it instead of stat_worker to determine stat information, when appropriate. * fhandler.cc (fhandler_base::device_access_denied): Pass fhandler pointer to access_worker so that it can use the proper method for determining stat information. * fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 992218271..2bb701d8e 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1240,7 +1240,7 @@ lstat (const char *name, struct __stat32 *buf)
}
int
-access_worker (path_conv& real_path, int flags)
+access_worker (path_conv& real_path, int flags, fhandler_base *fh)
{
if (real_path.error)
{
@@ -1268,7 +1268,7 @@ access_worker (path_conv& real_path, int flags)
return check_file_access (real_path, flags);
struct __stat64 st;
- int r = stat_worker (real_path, &st, 0);
+ int r = fh ? fh->fstat (&st) : stat_worker (real_path, &st, 0);
if (r)
return -1;
r = -1;