mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
BUG#23735 Test rpl_row_mysqlbinlog fails on Windows. The errors report a file discrepency on reading a binlog from the command line.
client/mysqlbinlog.cc: BUG#23735 Test rpl_row_mysqlbinlog fails on Windows.
This commit is contained in:
@@ -1360,6 +1360,24 @@ static int dump_local_log_entries(const char* logname)
|
|||||||
}
|
}
|
||||||
else // reading from stdin;
|
else // reading from stdin;
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
Bug fix: #23735
|
||||||
|
Author: Chuck Bell
|
||||||
|
Description:
|
||||||
|
Windows opens stdin in text mode by default. Certain characters
|
||||||
|
such as CTRL-Z are interpeted as events and the read() method
|
||||||
|
will stop. CTRL-Z is the EOF marker in Windows. to get past this
|
||||||
|
you have to open stdin in binary mode. Setmode() is used to set
|
||||||
|
stdin in binary mode. Errors on setting this mode result in
|
||||||
|
halting the function and printing an error message to stderr.
|
||||||
|
*/
|
||||||
|
#if defined (__WIN__) || (_WIN64)
|
||||||
|
if (_setmode(fileno(stdin), O_BINARY) == -1)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Could not set binary mode on stdin.\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
if (init_io_cache(file, fileno(stdin), 0, READ_CACHE, (my_off_t) 0,
|
if (init_io_cache(file, fileno(stdin), 0, READ_CACHE, (my_off_t) 0,
|
||||||
0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE)))
|
0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE)))
|
||||||
return 1;
|
return 1;
|
||||||
|
Reference in New Issue
Block a user