diff options
author | Christopher Faylor <me@cgf.cx> | 2002-06-24 02:23:14 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-06-24 02:23:14 +0000 |
commit | 035bfbddf50a14e58bdae5bf3269bb5440ef0318 (patch) | |
tree | f40ff14a69f80fca022a984b7b9d3ec589e928d1 /winsup/cygwin/fhandler.cc | |
parent | eecef29f5043da31a44f4bc197e786e103a8deb8 (diff) | |
download | cygnal-035bfbddf50a14e58bdae5bf3269bb5440ef0318.tar.gz cygnal-035bfbddf50a14e58bdae5bf3269bb5440ef0318.tar.bz2 cygnal-035bfbddf50a14e58bdae5bf3269bb5440ef0318.zip |
* fhandler.cc (fhandler_base::fstat): Set S_IFIFO for pipes.
* fhandler_socket.cc (fhandler_socket.cc::fstat): Set S_IFSOCK.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r-- | winsup/cygwin/fhandler.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 04156c47c..1b8d4583e 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -829,18 +829,23 @@ fhandler_base::fstat (struct __stat64 *buf, path_conv *) { switch (get_device ()) { + case FH_PIPE: + buf->st_mode = S_IFIFO | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + break; case FH_PIPEW: - buf->st_mode = STD_WBITS | S_IWGRP | S_IWOTH; + buf->st_mode = S_IFIFO | STD_WBITS | S_IWGRP | S_IWOTH; break; case FH_PIPER: - buf->st_mode = STD_RBITS; + buf->st_mode = S_IFIFO | STD_RBITS; + break; + case FH_FLOPPY: + buf->st_mode = S_IFBLK | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; break; default: - buf->st_mode = STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; + buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH; break; } - buf->st_mode |= get_device () == FH_FLOPPY ? S_IFBLK : S_IFCHR; buf->st_nlink = 1; buf->st_blksize = S_BLKSIZE; time_as_timestruc_t (&buf->st_ctim); |