From b58f5598cbc77801bdbcc1de4d2fe0027fb68493 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 10 Aug 2000 19:20:11 +0000 Subject: * dir.cc (readdir): Ensure that errno is *only* set when we've run out of filenames. * fhandler.cc (fhandler_disk_file::fstat): Use modern method for saving errno, making it effective for the whole function. --- winsup/cygwin/fhandler.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/fhandler.cc') 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); -- cgit v1.2.3