As discussed earlier today.
Note that if GetVolumeInformation fails, has_acls won't get set
and cygwin will work as if ntsec was off...
Not sure how to avoid that, reliably.
Pierre
2004-10-02 Pierre Humblet <[EMAIL PROTECTED]>
* path.h (enum path_types): Delete PATH_ISDISK.
(path_conv::isdisk): Delete method.
(path_conv::set_isdisk): Ditto.
* path.cc (path_conv::check): Do not call set_isdisk.
* uinfo.cc(pwdgrp::load): Do not call pc.isdisk.
Index: path.h
===
RCS file: /cvs/src/src/winsup/cygwin/path.h,v
retrieving revision 1.66
diff -u -p -r1.66 path.h
--- path.h 17 Jun 2004 13:34:24 - 1.66
+++ path.h 2 Oct 2004 00:28:49 -
@@ -64,7 +64,6 @@ enum path_types
PATH_ALL_EXEC = (PATH_CYGWIN_EXEC | PATH_EXEC),
PATH_LNK = 0x0100,
PATH_TEXT =0x0200,
- PATH_ISDISK = 0x0400,
PATH_HAS_SYMLINKS = 0x1000,
PATH_SOCKET = 0x4000
};
@@ -123,7 +122,6 @@ class path_conv
device dev;
bool case_clash;
- int isdisk () const { return path_flags & PATH_ISDISK;}
bool isremote () {return fs.is_remote_drive ();}
int has_acls () const {return fs.has_acls (); }
int has_symlinks () const {return path_flags & PATH_HAS_SYMLINKS;}
@@ -165,7 +163,6 @@ class path_conv
void set_binary () {path_flags |= PATH_BINARY;}
void set_symlink (DWORD n) {path_flags |= PATH_SYMLINK; symlink_length =
n;}
void set_has_symlinks () {path_flags |= PATH_HAS_SYMLINKS;}
- void set_isdisk () {path_flags |= PATH_ISDISK; dev.devn = FH_FS;}
void set_exec (int x = 1) {path_flags |= x ? PATH_EXEC : PATH_NOTEXEC;}
void check (const char *src, unsigned opt = PC_SYM_FOLLOW,
Index: uinfo.cc
===
RCS file: /cvs/src/src/winsup/cygwin/uinfo.cc,v
retrieving revision 1.129
diff -u -p -r1.129 uinfo.cc
--- uinfo.cc3 Sep 2004 01:53:12 - 1.129
+++ uinfo.cc2 Oct 2004 00:28:50 -
@@ -511,7 +511,7 @@ pwdgrp::load (const char *posix_fname)
paranoid_printf ("%s", posix_fname);
- if (pc.error || !pc.exists () || !pc.isdisk () || pc.isdir ())
+ if (pc.error || !pc.exists () || pc.isdir ())
{
paranoid_printf ("strange path_conv problem");
res = failed;
Index: path.cc
===
RCS file: /cvs/src/src/winsup/cygwin/path.cc,v
retrieving revision 1.322
diff -u -p -r1.322 path.cc
--- path.cc 24 Sep 2004 19:41:19 - 1.322
+++ path.cc 2 Oct 2004 00:29:11 -
@@ -839,7 +839,6 @@ out:
{
if (fs.update (path))
{
- set_isdisk ();
debug_printf ("this->path(%s), has_acls(%d)", path, fs.has_acls ());
if (fs.has_acls () && allow_ntsec && wincap.has_security ())
set_exec (0); /* We really don't know if this is executable or
not here