* lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem to be

defined.  Wrap definitions in extern "C".  Include winsup.h to assure proper
definitions.
* dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that binmode.o,
etc., will control default stdio settings.
* dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force
binmode/textmode settings.  Default pipes to binmode.
This commit is contained in:
Christopher Faylor
2001-03-28 03:42:58 +00:00
parent 6222b61fee
commit 1ac6d1a144
4 changed files with 34 additions and 14 deletions

View File

@@ -165,7 +165,13 @@ void
dtable::init_std_file_from_handle (int fd, HANDLE handle,
DWORD myaccess, const char *name)
{
int bin = binmode ? O_BINARY : 0;
int bin;
if (__fmode)
bin = __fmode;
else
bin = binmode ?: 0;
/* Check to see if we're being redirected - if not then
we open then as consoles */
if (fd == 0 || fd == 1 || fd == 2)
@@ -190,6 +196,11 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle,
else
name = "/dev/conin";
}
else if (GetFileType (handle) == FILE_TYPE_PIPE)
{
if (bin == 0)
bin = O_BINARY;
}
}
build_fhandler (fd, name, handle)->init (handle, myaccess, bin);