* fhandler_proc.cc (fhandler_proc::fstat): Use fhandler name rather than
path_conv name. (fhandler_proc::open): Ditto. * fhandler_process.cc (fhandler_process::fstat): Use fhandler name rather than path_conv name. (fhandler_process::open): Ditto. * fhandler_registry.cc (fhandler_registry::fstat): Use fhandler name rather than path_conv name. (fhandler_registry::open): Ditto. * path.cc (path_conv::check): Don't copy posix path when virtual. (mount_info::conv_to_win32_path): Don't zero string when isproc. Just derive normal windows path. * path.h (path_conv::clear_normalized_path): Declare new method. * path.cc (path_conv::clear_normalized_path): Define new method. * dtable.cc (build_fhandler_from_name): Clear normalized path when finished to conserve space.
This commit is contained in:
@ -45,9 +45,9 @@ fhandler_virtual::opendir (path_conv& pc)
|
||||
DIR *res = NULL;
|
||||
size_t len;
|
||||
|
||||
if (exists (pc) <= 0)
|
||||
if (exists (get_name ()) <= 0)
|
||||
set_errno (ENOTDIR);
|
||||
else if ((len = strlen (pc)) > MAX_PATH - 3)
|
||||
else if ((len = strlen (get_name ())) > MAX_PATH - 3)
|
||||
set_errno (ENAMETOOLONG);
|
||||
else if ((dir = (DIR *) malloc (sizeof (DIR))) == NULL)
|
||||
set_errno (ENOMEM);
|
||||
@ -64,7 +64,7 @@ fhandler_virtual::opendir (path_conv& pc)
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy (dir->__d_dirname, pc);
|
||||
strcpy (dir->__d_dirname, get_name ());
|
||||
dir->__d_dirent->d_version = __DIRENT_VERSION;
|
||||
cygheap_fdnew fd;
|
||||
fd = this;
|
||||
|
Reference in New Issue
Block a user