From 035bfbddf50a14e58bdae5bf3269bb5440ef0318 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 24 Jun 2002 02:23:14 +0000 Subject: * fhandler.cc (fhandler_base::fstat): Set S_IFIFO for pipes. * fhandler_socket.cc (fhandler_socket.cc::fstat): Set S_IFSOCK. --- winsup/cygwin/fhandler.cc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/fhandler.cc') 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); -- cgit v1.2.3