summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 5e96c2518..46fb51e35 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -865,7 +865,7 @@ fhandler_disk_file::fstat (struct stat *buf)
{
int res = 0; // avoid a compiler warning
BY_HANDLE_FILE_INFORMATION local;
- int old_errno = get_errno ();
+ save_errno saved_errno;
memset (buf, 0, sizeof (*buf));
@@ -907,12 +907,10 @@ fhandler_disk_file::fstat (struct stat *buf)
if (!get_win32_name ())
{
- set_errno (ENOENT);
+ saved_errno.set (ENOENT);
return -1;
}
- set_errno (old_errno);
-
buf->st_atime = to_time_t (&local.ftLastAccessTime);
buf->st_mtime = to_time_t (&local.ftLastWriteTime);
buf->st_ctime = to_time_t (&local.ftCreationTime);