Commit d84ab0d3 authored by Kristofer Pettersson's avatar Kristofer Pettersson

Bug#46043 mysqld --skip-innodb does not skip InnoDB

  
The prefix --skip- didn't work on 64 bit big endian machines
because of how the value pointer was casted.

mysys/my_getopt.c:
  * Use the interface! The value pointer must correspond to the type mask or it will break on big endian platforms.
parent de14d1eb
......@@ -413,17 +413,17 @@ invalid value '%s'",
else if (optp->arg_type == OPT_ARG &&
(((optp->var_type & GET_TYPE_MASK) == GET_BOOL) ||
(optp->var_type & GET_TYPE_MASK) == GET_ENUM))
{
if (optend == disabled_my_option)
*((my_bool*) value)= (my_bool) 0;
else
{
if (!optend) /* No argument -> enable option */
*((my_bool*) value)= (my_bool) 1;
else
argument= optend;
}
}
{
if (optend == disabled_my_option)
init_one_value(optp, value, 0);
else
{
if (!optend) /* No argument -> enable option */
init_one_value(optp, value, 1);
else
argument= optend;
}
}
else if (optp->arg_type == REQUIRED_ARG && !optend)
{
/* Check if there are more arguments after this one */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment