summaryrefslogtreecommitdiff
path: root/wcon.c
diff options
context:
space:
mode:
authorJohn van Groningen2006-03-23 15:40:08 +0000
committerJohn van Groningen2006-03-23 15:40:08 +0000
commit4a12783e07fdd246773d73337c831f4b97e31a3b (patch)
treea6820e0f349752ab147630bc8b1a899d7fc32d46 /wcon.c
parentchange file mode if stdio is reopened (diff)
detect redirection of stdio to or from a pipe
Diffstat (limited to 'wcon.c')
-rw-r--r--wcon.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/wcon.c b/wcon.c
index bce94c2..20f9bb1 100644
--- a/wcon.c
+++ b/wcon.c
@@ -1326,8 +1326,15 @@ int clean_main (void)
else
std_error_handle=GetStdHandle (STD_ERROR_HANDLE);
- std_input_from_file = GetFileType (std_input_handle)==FILE_TYPE_DISK;
- std_output_to_file = GetFileType (std_output_handle)==FILE_TYPE_DISK;
+ {
+ int std_input_file_type,std_output_file_type;
+
+ std_input_file_type=GetFileType (std_input_handle);
+ std_input_from_file=std_input_file_type==FILE_TYPE_DISK || std_input_file_type==FILE_TYPE_PIPE;
+
+ std_output_file_type=GetFileType (std_output_handle);
+ std_output_to_file=std_output_file_type==FILE_TYPE_DISK || std_output_file_type==FILE_TYPE_PIPE;
+ }
if (std_input_from_file || std_output_to_file)
init_std_io_from_or_to_file();