diff options
author | Christopher Faylor <me@cgf.cx> | 2005-02-27 04:30:08 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-02-27 04:30:08 +0000 |
commit | d61925786a19f2ee513c969ad7cb421a7db762b7 (patch) | |
tree | 3ca1430f75e6982f822d708ca5f469f3a4950f73 /winsup/cygwin/fhandler_raw.cc | |
parent | 78d9eaa5eac0e037206b481c4c5512936d53524d (diff) | |
download | cygnal-d61925786a19f2ee513c969ad7cb421a7db762b7.tar.gz cygnal-d61925786a19f2ee513c969ad7cb421a7db762b7.tar.bz2 cygnal-d61925786a19f2ee513c969ad7cb421a7db762b7.zip |
* sigproc.cc (_pinfo::set_ctty): Move function
* pinfo.cc (_pinfo::set_ctty): to here.
* fhandler_mem.cc (fhandler_dev_mem::fstat): Don't fill out structure if this
is an on-disk device rather than an "auto" device.
* fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
* path.cc (normalize_posix_path): Don't treat a standalone '//' as introducing
a UNC path.
(normalize_win32_path): Ditto.
Diffstat (limited to 'winsup/cygwin/fhandler_raw.cc')
-rw-r--r-- | winsup/cygwin/fhandler_raw.cc | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/winsup/cygwin/fhandler_raw.cc b/winsup/cygwin/fhandler_raw.cc index 4ce444c1b..e1ab19a07 100644 --- a/winsup/cygwin/fhandler_raw.cc +++ b/winsup/cygwin/fhandler_raw.cc @@ -86,17 +86,21 @@ fhandler_dev_raw::fstat (struct __stat64 *buf) { debug_printf ("here"); - if (get_major () == DEV_TAPE_MAJOR) - buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; - else - buf->st_mode = S_IFBLK | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; - - buf->st_uid = geteuid32 (); - buf->st_gid = getegid32 (); - buf->st_nlink = 1; - buf->st_blksize = S_BLKSIZE; - time_as_timestruc_t (&buf->st_ctim); - buf->st_atim = buf->st_mtim = buf->st_ctim; + fhandler_base::fstat (buf); + if (is_auto_device ()) + { + if (get_major () == DEV_TAPE_MAJOR) + buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + else + buf->st_mode = S_IFBLK | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + + buf->st_uid = geteuid32 (); + buf->st_gid = getegid32 (); + buf->st_nlink = 1; + buf->st_blksize = S_BLKSIZE; + time_as_timestruc_t (&buf->st_ctim); + buf->st_atim = buf->st_mtim = buf->st_ctim; + } return 0; } |