Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-updates-src > by-pkgid > 3d9c17c564d30ead0a0dab9855d22f9d > files > 27

mysql-5.5.10-8.mga1.src.rpm

Fix build on arm

0 is not a valid va_list as va_list is an opaque type. Use a dummy va_list
instead.

It's fixing that:
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c: In function 'mysql_client_plugin_init':
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c:252: error: incompatible type for argument 5 of 'add_plugin'
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c:126: note: expected 'va_list' but argument is of type 'int'
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c: In function 'mysql_client_register_plugin':
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c:310: error: incompatible type for argument 5 of 'add_plugin'
/home/rtp/devel/work/mysql/BUILD/mysql-5.5.8/sql-common/client_plugin.c:126: note: expected 'va_list' but argument is of type 'int'
make[2]: *** [libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_plugin.c.o] Error 1
make[1]: *** [libmysql/CMakeFiles/clientlib.dir/all] Error 2
make: *** [all] Error 2

Now, gcc will emit a warning about non initialised stuff on arm but I found no way to
create properly an empty va_list.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Index: mysql-5.5.8/sql-common/client_plugin.c
===================================================================
--- mysql-5.5.8.orig/sql-common/client_plugin.c
+++ mysql-5.5.8/sql-common/client_plugin.c
@@ -233,6 +233,7 @@ int mysql_client_plugin_init()
 {
   MYSQL mysql;
   struct st_mysql_client_plugin **builtin;
+  va_list dummy;
 
   if (initialized)
     return 0;
@@ -249,7 +250,7 @@ int mysql_client_plugin_init()
   pthread_mutex_lock(&LOCK_load_client_plugin);
 
   for (builtin= mysql_client_builtins; *builtin; builtin++)
-    add_plugin(&mysql, *builtin, 0, 0, 0);
+    add_plugin(&mysql, *builtin, 0, 0, dummy);
 
   pthread_mutex_unlock(&LOCK_load_client_plugin);
 
@@ -293,6 +294,7 @@ struct st_mysql_client_plugin *
 mysql_client_register_plugin(MYSQL *mysql,
                              struct st_mysql_client_plugin *plugin)
 {
+  va_list dummy;
   if (is_not_initialized(mysql, plugin->name))
     return NULL;
 
@@ -307,7 +309,7 @@ mysql_client_register_plugin(MYSQL *mysq
     plugin= NULL;
   }
   else
-    plugin= add_plugin(mysql, plugin, 0, 0, 0);
+    plugin= add_plugin(mysql, plugin, 0, 0, dummy);
 
   pthread_mutex_unlock(&LOCK_load_client_plugin);
   return plugin;