Subject: Re: .*Console.* Functions vs. tty
From: Christopher Faylor <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Mon, 29 Oct 2001 13:45:27 -0500

On Mon, Oct 29, 2001 at 12:29:32PM -0600, Parker, Ron wrote:
>I am working on a program that offers a choice of user interfaces at run
>time, similar to what xemacs does.  This application is designed to be
>portable at least between cygwin, Linux, and native Windows.  One of the
>UI's uses the standard console interfaces.  However, when the code runs
>under cygwin with "tty" enabled, I cannot get the console screen buffer
>information.  This is not dependent upon it being a cygwin compiled
>application.  It "malfunctions" if compiled by gcc for cygwin, gcc for
>MinGW, or MSVC.
>
>I have narrowed the problem down to a simple portion of code, which will
>exhibit the same behavior as my application.  The GetConsoleScreenBufferInfo
>function fails with error 6, ERROR_INVALID_HANDLE.  

That would be because stdin is not a console when CYGWIN=tty is
operating.  That's sorta the whole reason for CYGWIN=tty.  It provides
more functionality than a standard Windows console.

>How can I work around this without forcing the user to use "notty"?

You could open a console using 'conin$' as the name or, if it is a
cygwin program, '/dev/conin'.  Use the handle from that as input for
console routines.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/