From 783780f1c92e6c8b3ebbb1f40ca34cc14336f81b Mon Sep 17 00:00:00 2001
From: unknown <monty@mysql.com>
Date: Mon, 27 Mar 2006 12:02:23 +0300
Subject: [PATCH] Safer fix for Bug #18435 "5.0.19 libmysqlclient not
 ABI-compatible with 5.0.18"

This fixes the problem if someone is using struct MYSQL as part of another structure together with a shared
library


include/mysql.h:
  Safer fix for Bug #18435
sql-common/client.c:
  Safer fix for Bug #18435
---
 include/mysql.h     | 2 ++
 sql-common/client.c | 6 ------
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/mysql.h b/include/mysql.h
index 303cb2af4f..925a452537 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -287,8 +287,10 @@ typedef struct st_mysql
     from mysql_stmt_close if close had to cancel result set of this object.
   */
   my_bool *unbuffered_fetch_owner;
+#if defined(EMBEDDED_LIBRARY) || defined(EMBEDDED_LIBRARY_COMPATIBLE) || MYSQL_VERSION_ID >= 50100
   /* needed for embedded server - no net buffer to store the 'info' */
   char *info_buffer;
+#endif
 } MYSQL;
 
 typedef struct st_mysql_res {
diff --git a/sql-common/client.c b/sql-common/client.c
index 4c7ef3fcd0..cd50960164 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -1428,13 +1428,7 @@ mysql_init(MYSQL *mysql)
     mysql->free_me=1;
   }
   else
-  {
-#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;
-- 
2.30.9