* dir.cc (readdir_worker): Use slash as path separator when evaluating

namehash for paths below /proc.
	* fhandler_netdrive.cc (fhandler_netdrive::readdir): Use expensive
	inode number evaluation on share names.
This commit is contained in:
Corinna Vinschen
2006-02-28 12:20:11 +00:00
parent 4f1558d132
commit 5d93840135
3 changed files with 16 additions and 2 deletions

View File

@@ -131,8 +131,12 @@ readdir_worker (DIR *dir, dirent *de)
if (!is_dot && !is_dot_dot)
{
const char *w32name = ((fhandler_base *) dir->__fh)->get_win32_name ();
DWORD devn = ((fhandler_base *) dir->__fh)->get_device ();
/* Paths below /proc don't have a Win32 pendant. */
if (devn == FH_PROC || devn == FH_PROCESS || devn == FH_REGISTRY)
de->d_ino = hash_path_name (de->d_ino, "/");
/* A drive's root dir has a trailing backslash already. */
if (w32name[1] != ':' || w32name[2] != '\\' || w32name[3])
else if (w32name[1] != ':' || w32name[2] != '\\' || w32name[3])
de->d_ino = hash_path_name (de->d_ino, "\\");
de->d_ino = hash_path_name (de->d_ino, de->d_name);
}