aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/fhandler_raw.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-02-27 04:30:08 +0000
committerChristopher Faylor <me@cgf.cx>2005-02-27 04:30:08 +0000
commitd61925786a19f2ee513c969ad7cb421a7db762b7 (patch)
tree3ca1430f75e6982f822d708ca5f469f3a4950f73 /winsup/cygwin/fhandler_raw.cc
parent78d9eaa5eac0e037206b481c4c5512936d53524d (diff)
downloadnewlib-d61925786a19f2ee513c969ad7cb421a7db762b7.zip
newlib-d61925786a19f2ee513c969ad7cb421a7db762b7.tar.gz
newlib-d61925786a19f2ee513c969ad7cb421a7db762b7.tar.bz2
* 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.cc26
1 files changed, 15 insertions, 11 deletions
diff --git a/winsup/cygwin/fhandler_raw.cc b/winsup/cygwin/fhandler_raw.cc
index 4ce444c..e1ab19a 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;
}