🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #5839

Re: Sensing STDOUT redirection in C

#5839
From: Doug Dougherty
Date: Thu, 18 Apr 1991 18:54
27 lines
1814 bytes
jwbirdsa@amc.com (James Birdsall) writes:

>In article <1991Apr16.145847.20316@midway.uchicago.edu> valley@gsbsun.uchicago.edu (Doug Dougherty) writes:
>>collinsa@p4.cs.man.ac.uk (Adrian Collins) writes:
>>>Does anybody know how to sense whether output redirection has been used
>>>on the command line?
>>isatty(1)
>>(Works in Turbo C)

>   Well, almost. isatty() returns true if the supplied handle is the
>console *or* a printer or serial port. Determining whether the handle is
>actually the console or not requires an ioctl() and checking some bits.

Someone else pointed this out to me in email as well.  Yes, this is only
a 90% solution.  Actually, I think, in DOS, isatty() returns true iff
the handle refers to a *character device* (my emphasis).  Which includes
of course, not only CON, COMx, PRN, but also NUL as well as any installed
character devices.

Still, I think it handles most of the occurrences, since what most users
are concerned about is redirection to a file anyway.  And the original
poster did refer to TurboC specifically, and isatty() does have the
virtue of being a regular TC built-in function.

--

	(Another fine mess brought to you by valley@gsbsun.uchicago.edu)
Technical Details
Message-ID: <1991Apr18.185454.25215@midway.uchicago.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!ncar!midway!gsbsun!valley
References: <collinsa.671721083@p4.cs.man.ac.uk> <1991Apr16.145847.20316@midway.uchicago.edu> <1991Apr18.165820.6035@amc.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!ncar!midway!gsbsun!valley
From: valley@gsbsun.uchicago.edu (Doug Dougherty)
Newsgroups: comp.os.msdos.programmer
Subject: Re: Sensing STDOUT redirection in C
Keywords: STDOUT, Redirection, MSDOS
Message-ID: <1991Apr18.185454.25215@midway.uchicago.edu>
Date: 18 Apr 91 18:54:54 GMT
References: <collinsa.671721083@p4.cs.man.ac.uk> <1991Apr16.145847.20316@midway.uchicago.edu> <1991Apr18.165820.6035@amc.com>
Sender: news@midway.uchicago.edu (NewsMistress)
Organization: University of Chicago
Lines: 27