]> git.eshelyaron.com Git - emacs.git/commitdiff
(stat): Fall-back to default behaviour when we cannot get
authorRichard M. Stallman <rms@gnu.org>
Fri, 14 Aug 1998 03:47:10 +0000 (03:47 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 14 Aug 1998 03:47:10 +0000 (03:47 +0000)
accurate information on file attributes.

src/w32.c

index ca4b50ecb2d976731d542f22ae40ae1709549878..68ed2b5dcbb88d4f1e46eccfa986e4272d7c418a 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -1948,16 +1948,16 @@ stat (const char * path, struct stat * buf)
       buf->st_nlink = 2;       /* doesn't really matter */
       fake_inode = 0;          /* this doesn't either I think */
     }
-  else if (!NILP (Vw32_get_true_file_attributes))
+  else if (!NILP (Vw32_get_true_file_attributes)
+          /* No access rights required to get info.  */
+          && (fh = CreateFile (name, 0, 0, NULL, OPEN_EXISTING, 0, NULL))
+             != INVALID_HANDLE_VALUE)
     {
       /* This is more accurate in terms of gettting the correct number
         of links, but is quite slow (it is noticable when Emacs is
         making a list of file name completions). */
       BY_HANDLE_FILE_INFORMATION info;
 
-      /* No access rights required to get info.  */
-      fh = CreateFile (name, 0, 0, NULL, OPEN_EXISTING, 0, NULL);
-
       if (GetFileInformationByHandle (fh, &info))
        {
          switch (GetFileType (fh))