diff options
author | unknown <timour@askmonty.org> | 2012-11-09 10:11:20 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2012-11-09 10:11:20 +0200 |
commit | 3f590335363dec43e301fac174f9349233f5804c (patch) | |
tree | 4c3b3e4f9f71cf31cc18cf7d0ba48a3ef3b5c2d3 /client/mysqlbinlog.cc | |
parent | 94cae65774194f8769b18e6943713d1fed5f89fa (diff) | |
parent | 8df490044cf6fd4a7bcb38cab509975b39b1216d (diff) | |
download | mariadb-git-3f590335363dec43e301fac174f9349233f5804c.tar.gz |
Merge MariaDB 5.1.66 -> 5.2 -> 5.3
Diffstat (limited to 'client/mysqlbinlog.cc')
-rw-r--r-- | client/mysqlbinlog.cc | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index ae964af4342..de44ef5d927 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -36,6 +36,8 @@ #include "mysql_priv.h" #include "log_event.h" #include "sql_common.h" +#include "my_dir.h" +#include <welcome_copyright_notice.h> // ORACLE_WELCOME_COPYRIGHT_NOTICE /* Needed for Rpl_filter */ CHARSET_INFO* system_charset_info= &my_charset_utf8_general_ci; @@ -1454,10 +1456,7 @@ static void print_version() static void usage() { print_version(); - puts("By Monty and Sasha, for your professional use\n\ -This software comes with NO WARRANTY: This is free software,\n\ -and you are welcome to modify and redistribute it under the GPL license.\n"); - + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000")); printf("\ Dumps a MySQL binary log in a format usable for viewing or for piping to\n\ the mysql command line client.\n\n"); @@ -2027,6 +2026,7 @@ static Exit_status check_header(IO_CACHE* file, uchar header[BIN_LOG_HEADER_SIZE]; uchar buf[PROBE_HEADER_LEN]; my_off_t tmp_pos, pos; + MY_STAT my_file_stat; delete glob_description_event; if (!(glob_description_event= new Format_description_log_event(3))) @@ -2036,7 +2036,16 @@ static Exit_status check_header(IO_CACHE* file, } pos= my_b_tell(file); - my_b_seek(file, (my_off_t)0); + + /* fstat the file to check if the file is a regular file. */ + if (my_fstat(file->file, &my_file_stat, MYF(0)) == -1) + { + error("Unable to stat the file."); + return ERROR_STOP; + } + if ((my_file_stat.st_mode & S_IFMT) == S_IFREG) + my_b_seek(file, (my_off_t)0); + if (my_b_read(file, header, sizeof(header))) { error("Failed reading header; probably an empty file."); |