* environ.cc (parse_thing): nobinmode should force O_TEXT.

(regopt): Use correct path to find LOCAL_MACHINE registry options.
* fhandler.cc (fhandler_base::open): Set binary mode only when binmode ==
O_BINARY.
* pipe.cc (pipe): Pipe handling should rely on binmode not _fmode now that the
two are different.
This commit is contained in:
Christopher Faylor 2000-08-24 17:54:43 +00:00
parent 123469a0e9
commit 5a41f96dbb
4 changed files with 18 additions and 5 deletions

View File

@ -1,3 +1,12 @@
Thu Aug 24 13:50:15 2000 Christopher Faylor <cgf@cygnus.com>
* environ.cc (parse_thing): nobinmode should force O_TEXT.
(regopt): Use correct path to find LOCAL_MACHINE registry options.
* fhandler.cc (fhandler_base::open): Set binary mode only when binmode
== O_BINARY.
* pipe.cc (pipe): Pipe handling should rely on binmode not _fmode now
that the two are different.
Thu Aug 24 13:21:09 2000 Christopher Faylor <cgf@cygnus.com>
* include/sys/cygwin.h (strace_printf_wrap): Force printing when

View File

@ -373,7 +373,7 @@ struct parse_thing
} values[2];
} known[] =
{
{"binmode", {x: &binmode}, justset, NULL, {{0}, {O_BINARY}}},
{"binmode", {x: &binmode}, justset, NULL, {{O_TEXT}, {O_BINARY}}},
{"envcache", {&envcache}, justset, NULL, {{TRUE}, {FALSE}}},
{"error_start", {func: &error_start_init}, isfunc, NULL, {{0}, {0}}},
{"export", {&export_settings}, justset, NULL, {{FALSE}, {TRUE}}},
@ -489,7 +489,10 @@ regopt (const char *name)
parse_options (buf);
else
{
reg_key r1 (HKEY_LOCAL_MACHINE, KEY_READ, CYGWIN_INFO_PROGRAM_OPTIONS_NAME, NULL);
reg_key r1 (HKEY_LOCAL_MACHINE, KEY_READ, "SOFTWARE",
CYGWIN_INFO_CYGNUS_REGISTRY_NAME,
CYGWIN_INFO_CYGWIN_REGISTRY_NAME,
CYGWIN_INFO_PROGRAM_OPTIONS_NAME, NULL);
if (r1.get_string (lname, buf, sizeof (buf) - 1, "") == ERROR_SUCCESS)
parse_options (buf);
}

View File

@ -24,7 +24,7 @@ static char fhandler_disk_dummy_name[] = "some disk file";
struct __cygwin_perfile *perfile_table = NULL;
DWORD binmode;
DWORD binmode = 0;
int
fhandler_base::puts_readahead (const char *s, size_t len = (size_t) -1)
@ -387,7 +387,7 @@ fhandler_base::open (int flags, mode_t mode)
else if (get_device () == FH_DISK)
bin = get_w_binary () || get_r_binary ();
else
bin = binmode || get_w_binary () || get_r_binary ();
bin = (binmode == O_BINARY) || get_w_binary () || get_r_binary ();
if (bin & O_TEXT)
bin = 0;

View File

@ -64,7 +64,8 @@ make_pipe (int fildes[2], unsigned int psize, int mode)
extern "C" int
pipe (int filedes[2])
{
return make_pipe (filedes, 16384, (!__fmode || __fmode == O_BINARY) ? O_BINARY : O_TEXT);
extern DWORD binmode;
return make_pipe (filedes, 16384, (!binmode || binmode == O_BINARY) ? O_BINARY : O_TEXT);
}
extern "C" int