Subject: Re: When is WinXP not WinXP?? - not *really* OT
From: Daniel Miller <[email-masked]>
To: [email-masked]
Date: Wed, 13 Oct 2004 16:45:46 +0000 (UTC)

Daniel Miller <[email-masked]> wrote in
news:[email-masked]: 

> Daniel Miller <[email-masked]> wrote in
> news:[email-masked]: 
> 
> I propose that this is *not* really off-topic, since the problems that
> I'm experiencing do not occur in cmd.exe, nor in 4NT, only in Bash. 
> So it's something Bash is doing in its environment that is breaking
> StdOut, at least relative to whatever Win32 looks at.
> 
> BTW, I did not install Cygwin on the Home machine by copying from the
> other machine, I installed it using setup.exe, downloaded from Cygwin.
> 
> Also, in response to Dave Korn's previous message, GetLastError() is 
> returning error 6 (The handle is Invalid)...
> 
A further note is that handles returned by GetStdHandle() always have 
GENERIC_READ and GENERIC_WRITE access, "unless SetStdHandle function was 
used to set a standard handle to be some handle with a lesser access." 
(per MSDN).  Certainly  I didn't use SetStdHandle for *any* purpose, 
which is why the utility works under other shells.  Does Bash use 
SetStdHandle or some equivalent to change the console environment??

//  repeating the offending code snippet:
   /* get the standard handles */
   hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
   PERR(hStdOut != INVALID_HANDLE_VALUE, "GetStdHandle");

   //  get screen information.
   //  If this call fails, assume we are re-directing output.
   bSuccess = GetConsoleScreenBufferInfo(hStdOut, &sinfo) ;
   // PERR(bSuccess, "GetConsoleScreenBufferInfo");
   if (bSuccess == false) {
      fprintf(stderr, "gcsbi error: %s\n", get_system_message()) ;
      exit(1) ;
      redirected = 1 ;
      return ; 
   }

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/