* 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:
@@ -161,9 +161,9 @@ fhandler_registry::fhandler_registry ():
|
||||
}
|
||||
|
||||
int
|
||||
fhandler_registry::fstat (struct __stat64 *buf, path_conv *path)
|
||||
fhandler_registry::fstat (struct __stat64 *buf, path_conv *pc)
|
||||
{
|
||||
this->fhandler_base::fstat (buf, path);
|
||||
this->fhandler_base::fstat (buf, pc);
|
||||
buf->st_mode &= ~_IFMT & NO_W;
|
||||
int file_type = exists (get_name ());
|
||||
switch (file_type)
|
||||
@@ -315,7 +315,7 @@ fhandler_registry::open (path_conv *pc, int flags, mode_t mode)
|
||||
goto out;
|
||||
|
||||
const char *path;
|
||||
path = (const char *) *pc + proc_len + 1 + registry_len;
|
||||
path = get_name () + proc_len + 1 + registry_len;
|
||||
if (!*path)
|
||||
{
|
||||
if ((mode & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))
|
||||
|
Reference in New Issue
Block a user