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'", ...@@ -413,17 +413,17 @@ invalid value '%s'",
else if (optp->arg_type == OPT_ARG && else if (optp->arg_type == OPT_ARG &&
(((optp->var_type & GET_TYPE_MASK) == GET_BOOL) || (((optp->var_type & GET_TYPE_MASK) == GET_BOOL) ||
(optp->var_type & GET_TYPE_MASK) == GET_ENUM)) (optp->var_type & GET_TYPE_MASK) == GET_ENUM))
{ {
if (optend == disabled_my_option) if (optend == disabled_my_option)
*((my_bool*) value)= (my_bool) 0; init_one_value(optp, value, 0);
else else
{ {
if (!optend) /* No argument -> enable option */ if (!optend) /* No argument -> enable option */
*((my_bool*) value)= (my_bool) 1; init_one_value(optp, value, 1);
else else
argument= optend; argument= optend;
} }
} }
else if (optp->arg_type == REQUIRED_ARG && !optend) else if (optp->arg_type == REQUIRED_ARG && !optend)
{ {
/* Check if there are more arguments after this one */ /* 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