* syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives.

This commit is contained in:
Corinna Vinschen 2000-03-19 11:05:14 +00:00
parent 5bc5ee4457
commit 1b16b354fa
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,7 @@
Sun Mar 19 12:01:00 2000 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives.
Sat Mar 18 23:04:27 2000 Christopher Faylor <cgf@cygnus.com>
* times.cc: Fix extern declarations for variables that are exported but

View File

@ -986,7 +986,7 @@ stat_worker (const char *caller, const char *name, struct stat *buf,
/* See the comment 10 lines below */
if (atts != -1 && (atts & FILE_ATTRIBUTE_DIRECTORY))
buf->st_nlink =
(dtype == DRIVE_REMOTE ? 2 : num_entries (win32_name));
(dtype == DRIVE_REMOTE ? 1 : num_entries (win32_name));
}
}
else
@ -998,7 +998,9 @@ stat_worker (const char *caller, const char *name, struct stat *buf,
those subdirectories point to it.
This is too slow on remote drives, so we do without it and
set the number of links to 2. */
buf->st_nlink = (dtype == DRIVE_REMOTE ? 2 : num_entries (win32_name));
/* Unfortunately the count of 2 confuses `find(1)' command. So
let's try it with `1' as link count. */
buf->st_nlink = (dtype == DRIVE_REMOTE ? 1 : num_entries (win32_name));
buf->st_dev = FHDEVN(FH_DISK) << 8;
buf->st_ino = hash_path_name (0, real_path.get_win32 ());
buf->st_mode = S_IFDIR | STD_RBITS | STD_XBITS;