* 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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user