From c57b13f9f85c50332dab29642d910769ead51255 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 1 Dec 2005 17:33:59 +0000 Subject: * devices.h (_minor): Coerce argument to proper type before manipulating. (_major): Ditto. (device::is_fs_special): New function. * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set the size to 0 for devices rather than reporting the size of the symlink. (fhandler_disk_file::readdir): Use is_fs_special to determine if .lnk should be stripped. * path.cc: Rename symlink_info::is_symlink to symlink_info::issymlink throughout. (symlink_info::isdevice): New field. (path_conv::check): Use 'isdevice' to determine if just-parsed entity is a device rather than relying on non-zero major/minor. (symlink_info::parse_device): Set isdevice to true if we've discovered a device. (symlink_info::check): Clear isdevice field prior to processing. Use isdevice to control debugging output. (symlink_info::set): Set isdevice to false. * path.h (path_conv::is_fs_special): New function. * devices.cc: Regenerate. --- winsup/cygwin/path.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'winsup/cygwin/path.h') diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h index e2fa22498..27c21496f 100644 --- a/winsup/cygwin/path.h +++ b/winsup/cygwin/path.h @@ -153,7 +153,7 @@ class path_conv int isspecial () const {return dev.devn && dev.devn != FH_FS;} int is_auto_device () const {return isdevice () && !is_fs_special ();} int is_fs_device () const {return isdevice () && is_fs_special ();} - int is_fs_special () const {return isspecial () && dev.isfs ();} + int is_fs_special () const {return dev.is_fs_special ();} int is_lnk_special () const {return is_fs_device () || isfifo () || is_lnk_symlink ();} int issocket () const {return dev.devn == FH_UNIX;} int iscygexec () const {return path_flags & PATH_CYGWIN_EXEC;} -- cgit v1.2.3