Mail Archives: cygwin/2004/10/13/12:46:03
Daniel Miller <dan AT imi-test DOT com> wrote in
news:Xns95815D0F71AA5dancarddupercom AT 80 DOT 91 DOT 229 DOT 5:
> Daniel Miller <dan AT imi-test DOT com> wrote in
> news:Xns958070E64AD1Adancarddupercom AT 80 DOT 91 DOT 229 DOT 5:
>
> 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/
- Raw text -