Hi all, Another step towards the VFS is wildcard expansion. There are many different ways to implement it and the operating systems in use have chosen different approaches to it. Basically there are two approaches and several in between these two:
1. The shell performs the wildcard expansion. This approach is used in *nix and is usually available in usermode as the glob function [1] in libc. (Conforming to several POSIX standards.) 2. The filesystem implementation performs the wildcard expansion This is used primarily on OS/2 and Windows NT [2]. It allows for different file systems to support different kinds of globbing. While this may not be obvious at first, this implementation does have at least one use: If mounting a network file system from a machine, which has a different globbing syntax the syntax of the target machine is used in its directories. This does however break apps, which use the host globbing scheme instead of the servers globbing scheme. Other uses are likely, just don't come to mind. It applies to SharpOS primarily as a question, who is responsible to implement the wildcard expansion which may be requested through Directory.GetDirectories, Directory.GetFiles, Directory.GetFileSystemEntries or DirectoryInfo.GetFiles, DirectoryInfo.GetDirectories, DirectoryInfo.GetFileSystemInfos (does anyone else think that name is wrong?). We can move this into a helper function used by all of those functions, implement this as a helper function in the VFS or have the filesystems themselves do the right thing. Your opinion? My vote is to implement this stuff in [K|c]orlib. Home directory lookup should imho not be done by the VFS in order to prevent tight coupling between the VFS and any kind of user management. I'd like the VFS to remain almost free of references. (The only other Kernel component I currently need is some sort of TEB for the threads current directory.) grover [1] http://linux.die.net/man/3/glob [2] http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ SharpOS-Developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sharpos-developers
