2002-05-03 Christopher January * fhandler_proc.cc (fhandler_proc::open): Change use of mode to flags. If the file does not exist already, fail with EROFS if O_CREAT flag is set. Change EROFS error to EACCES error when writing to a file. Use cmalloc to allocate memory for filebuf. * fhandler_process.cc (fhandler_process::open): Ditto. * fhandler_registry.cc (fhandler_registry::open): Ditto. Move check for open for writing before open_key. * path.cc (path_conv::check): Do not return ENOENT if a file is not found in /proc. * fhandler_virtual.cc (fhandler_virtual::write): Change EROFS error to EACCES error. * fhandler_virtual.cc (fhandler_virtual::open): Set the NOHANDLE flag. * fhandler_virtual.cc (fhandler_virtual::dup): Add call to fhandler_base::dup. Allocate child's filebuf using cmalloc. Copy filebuf from parent to child. * fhandler_virtual.cc (fhandler_virtual::close): Use cfree to free filebuf. * fhandler_proc.cc: Add '.' and '..' to directory listing. * fhandler_process.cc: Ditto. * fhandler_registry.cc: Ditto. * fhandler_registry.cc (fhandler_registry::readdir): Add support for '.' and '..' files in subdirectories of /proc/registry. * fhandler_registry.cc (fhandler_registry::telldir): Use lower 16 bits of __d_position as position in directory. * fhandler_registry.cc (fhandler_registry::seekdir): Ditto.