From b09c0acd4ef124c33111c48a76be987500ff39f9 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Wed, 8 Apr 2009 23:08:38 +0300 Subject: [PATCH] Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used sql/sql_string.cc: Optimized tests to do fewer reallocs sql/strfunc.cc: Indentation fix --- sql/mysqld.cc | 4 ++-- sql/sql_string.cc | 4 ++-- sql/strfunc.cc | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index ab7a3198f68..4a75c8452e9 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4974,11 +4974,11 @@ inline void kill_broken_server() #if !defined(__NETWARE__) unix_sock == INVALID_SOCKET || #endif - (!opt_disable_networking && - (base_ip_sock == INVALID_SOCKET || extra_ip_sock != INVALID_SOCKET))) + (!opt_disable_networking && ip_sock == INVALID_SOCKET)) { select_thread_in_use = 0; /* The following call will never return */ + DBUG_PRINT("general", ("killing server because socket is closed")); kill_server(IF_NETWARE(MYSQL_KILL_SIGNAL, (void*) MYSQL_KILL_SIGNAL)); } } diff --git a/sql/sql_string.cc b/sql/sql_string.cc index 34b310931d6..4b2450c0093 100644 --- a/sql/sql_string.cc +++ b/sql/sql_string.cc @@ -65,10 +65,10 @@ bool String::real_alloc(uint32 arg_length) bool String::realloc(uint32 alloc_length) { - uint32 len=ALIGN_SIZE(alloc_length+1); - if (Alloced_length < len) + if (Alloced_length <= alloc_length) { char *new_ptr; + uint32 len= ALIGN_SIZE(alloc_length+1); if (alloced) { if ((new_ptr= (char*) my_realloc(Ptr,len,MYF(MY_WME)))) diff --git a/sql/strfunc.cc b/sql/strfunc.cc index c03365cfc2b..d6f9784e4ad 100644 --- a/sql/strfunc.cc +++ b/sql/strfunc.cc @@ -38,7 +38,8 @@ static const char field_separator=','; -ulonglong find_set(TYPELIB *lib, const char *str, uint length, CHARSET_INFO *cs, +ulonglong find_set(TYPELIB *lib, const char *str, uint length, + CHARSET_INFO *cs, char **err_pos, uint *err_len, bool *set_warning) { CHARSET_INFO *strip= cs ? cs : &my_charset_latin1;