Make usage of the MYSQL struct in shared libraries compatible with MySQL 5.0.17 and

5.0.18 by not reseting or accessing the info_buffer member
This commit is contained in:
unknown 2006-03-23 00:37:40 +02:00
parent dec3dff235
commit 3e6330e783

View file

@ -1428,7 +1428,13 @@ mysql_init(MYSQL *mysql)
mysql->free_me=1;
}
else
bzero((char*) (mysql),sizeof(*(mysql)));
{
#if defined(EMBEDDED_LIBRARY) || MYSQL_VERSION_ID >= 50100
bzero((char*) (mysql), sizeof(*(mysql)));
#else
bzero((char*) (mysql), offsetof(MYSQL, info_buffer));
#endif
}
mysql->options.connect_timeout= CONNECT_TIMEOUT;
mysql->last_used_con= mysql->next_slave= mysql->master = mysql;
mysql->charset=default_charset_info;
@ -2341,9 +2347,12 @@ static void mysql_close_free(MYSQL *mysql)
my_free(mysql->user,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->passwd,MYF(MY_ALLOW_ZERO_PTR));
my_free(mysql->db,MYF(MY_ALLOW_ZERO_PTR));
#if defined(EMBEDDED_LIBRARY) || MYSQL_VERSION_ID >= 50100
my_free(mysql->info_buffer,MYF(MY_ALLOW_ZERO_PTR));
mysql->info_buffer= 0;
#endif
/* Clear pointers for better safety */
mysql->info_buffer=mysql->host_info=mysql->user=mysql->passwd=mysql->db=0;
mysql->host_info= mysql->user= mysql->passwd= mysql->db= 0;
}