diff options
author | unknown <iggy@recycle.(none)> | 2007-03-20 10:54:56 -0400 |
---|---|---|
committer | unknown <iggy@recycle.(none)> | 2007-03-20 10:54:56 -0400 |
commit | 14655649efeef29a47c3ef6527806ab7d2ea5ae7 (patch) | |
tree | 89d98cdcae5530c2708979517d9dc11f32fc471f /client/mysqlbinlog.cc | |
parent | feb2be208341ea249c22f360181963786b1e3e24 (diff) | |
parent | 6fb66342b36d0a5e3ed3aea53b86fc6d719a9cd9 (diff) | |
download | mariadb-git-14655649efeef29a47c3ef6527806ab7d2ea5ae7.tar.gz |
Merge recycle.(none):/src/bug23736/my50-bug23736
into recycle.(none):/src/bug23736/my51-bug23736
client/mysqlbinlog.cc:
Auto merged
include/my_sys.h:
Auto merged
mysys/array.c:
Auto merged
mysys/mf_tempdir.c:
Manual Merge.
Diffstat (limited to 'client/mysqlbinlog.cc')
-rw-r--r-- | client/mysqlbinlog.cc | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 940fac6da38..0835e59d547 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -158,11 +158,7 @@ class Load_log_processor public: Load_log_processor() {} - ~Load_log_processor() - { - destroy(); - delete_dynamic(&file_names); - } + ~Load_log_processor() {} int init() { @@ -182,20 +178,22 @@ public: target_dir_name_len= strlen(target_dir_name); } void destroy() + { + File_name_record *ptr= (File_name_record *)file_names.buffer; + File_name_record *end= ptr + file_names.elements; + for (; ptr < end; ptr++) { - File_name_record *ptr= (File_name_record *)file_names.buffer; - File_name_record *end= ptr + file_names.elements; - for (; ptr<end; ptr++) + if (ptr->fname) { - if (ptr->fname) - { - my_free(ptr->fname, MYF(MY_WME)); - delete ptr->event; - bzero((char *)ptr, sizeof(File_name_record)); - } + my_free(ptr->fname, MYF(MY_WME)); + delete ptr->event; + bzero((char *)ptr, sizeof(File_name_record)); } } + delete_dynamic(&file_names); + } + /* Obtain Create_file event for LOAD DATA statement by its file_id. @@ -1577,6 +1575,7 @@ int main(int argc, char** argv) cleanup(); free_defaults(defaults_argv); my_free_open_file_info(); + load_processor.destroy(); /* We cannot free DBUG, it is used in global destructors after exit(). */ my_end((info_flag ? MY_CHECK_ERROR : 0) | MY_DONT_FREE_DBUG); |