Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-09-10 22:51:44 +0400
committerCorinna Vinschen <corinna@vinschen.de>2010-09-10 22:51:44 +0400
commit396561aa0b5a2b220920ce515799d5a35b03a8cc (patch)
treed3c1a79dabfc0cf63c088a89e874a96038521191 /winsup
parent4e8f539f158b9d3413d0b88ce2fb8f70733139d8 (diff)
* syscalls.cc (fstatat): Call stat_worker directly from here.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/syscalls.cc5
2 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index a6b39b28c..e5bb70a90 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2010-09-10 Corinna Vinschen <corinna@vinschen.de>
+ * syscalls.cc (fstatat): Call stat_worker directly from here.
+
+2010-09-10 Corinna Vinschen <corinna@vinschen.de>
+
* flock.cc (allow_others_to_sync): Define MAX_PROCESS_SD_SIZE. Use
instead of ACL_DEFAULT_SIZE.
* sec_acl.cc (setacl): Use TLS buffer to allow maximum ACL size.
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 2d0cdc36c..5c1ec504b 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -4153,7 +4153,10 @@ fstatat (int dirfd, const char *pathname, struct __stat64 *st, int flags)
char *path = tp.c_get ();
if (gen_full_path_at (path, dirfd, pathname))
return -1;
- return (flags & AT_SYMLINK_NOFOLLOW) ? lstat64 (path, st) : stat64 (path, st);
+ path_conv pc (path, ((flags & AT_SYMLINK_NOFOLLOW)
+ ? PC_SYM_NOFOLLOW : PC_SYM_FOLLOW)
+ | PC_POSIX | PC_KEEP_HANDLE, stat_suffixes);
+ return stat_worker (pc, st);
}
extern int utimens_worker (path_conv &, const struct timespec *);