diff options
author | Christopher Faylor <me@cgf.cx> | 2001-06-03 02:31:16 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-06-03 02:31:16 +0000 |
commit | 7ceb1cac3a8f2a6822825347d1536f4507680704 (patch) | |
tree | 0cb17e09dc70b202a0c5a27fa140a4a897893e55 /winsup/cygwin/dir.cc | |
parent | bb8251474cd5eaf5950a51e6b13dc6d5098ed0aa (diff) | |
download | newlib-7ceb1cac3a8f2a6822825347d1536f4507680704.zip newlib-7ceb1cac3a8f2a6822825347d1536f4507680704.tar.gz newlib-7ceb1cac3a8f2a6822825347d1536f4507680704.tar.bz2 |
* cygheap.cc (cygheap_root::cygheap_rot): Remove constructor.
(cygheap_root::~cygheap_root): Remove destructor.
(cygheap_root::operator =): Remove.
(cygheap_root::set): New method.
* cygheap.h (cygheap_root): Reflect above changes. Store root info in
mount-like structure.
(cygheap_root:posix_ok): New method.
(cygheap_root::ischroot_native): Ditto.
(cygheap_root::unchroot): Ditto.
(cygheap_root::exists): Ditto.
(cygheap_root::posix_length): Ditto.
(cygheap_root::posix_path): Ditto.
(cygheap_root::native_length): Ditto.
(cygheap_root::native_path): Ditto.
* dir.cc (opendir): Remove special chroot test.
* path.cc (path_prefix_p): Remove front end.
(normalize_posix_path): Reorganize chroot tests to accomodate new convention of
allowing paths using posix chroot prefix.
(path_conv::check): Pass a "already ran normalize" option to
conv_to_win32_path. Return if there is an error from this function.
(mount_info::conv_to_win32_path): Add extra argument. Don't call
normalize_posix_path if caller has already done so. Substitute chroot setting,
if any, for root translation. Add chroot checking to final output step.
* shared_info (mount_info): Accomodate additional argument to
conv_to_win32_path.
* syscalls.cc (chroot): Store both normalized posix path and native path in
chroot.
Diffstat (limited to 'winsup/cygwin/dir.cc')
-rw-r--r-- | winsup/cygwin/dir.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc index 9e154b0..f55cbe3 100644 --- a/winsup/cygwin/dir.cc +++ b/winsup/cygwin/dir.cc @@ -78,8 +78,7 @@ opendir (const char *dirname) goto failed; } - if (stat (cygheap->root.length () ? dirname : real_dirname.get_win32 (), - &statbuf) == -1) + if (stat (real_dirname, &statbuf) == -1) goto failed; if (!(statbuf.st_mode & S_IFDIR)) @@ -88,7 +87,7 @@ opendir (const char *dirname) goto failed; } - len = strlen (real_dirname.get_win32 ()); + len = strlen (real_dirname); if (len > MAX_PATH - 3) { set_errno (ENAMETOOLONG); |