diff options
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 6 |
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); |