#At file:///Users/thek/Development/mysql-5.1-bugteam/ based on revid:kristofer.pettersson@stripped
3189 Kristofer Pettersson 2009-11-09
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.
modified:
mysys/my_getopt.c
=== modified file 'mysys/my_getopt.c'
--- a/mysys/my_getopt.c 2009-10-27 13:16:02 +0000
+++ b/mysys/my_getopt.c 2009-11-09 22:28:31 +0000
@@ -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 */
Attachment: [text/bzr-bundle]
| Thread |
|---|
| • bzr commit into mysql-5.1-bugteam branch (kristofer.pettersson:3189)Bug#46043 | Kristofer Pettersson | 9 Nov |