Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
6b35867f
Commit
6b35867f
authored
Oct 04, 2007
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge xiphis.org:/anubis/antony/work/mysql-5.1-engines
into xiphis.org:/anubis/antony/work/p1-bug31382.1.merge-5.1
parents
2308c12a
e8a23842
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
6 deletions
+51
-6
include/my_getopt.h
include/my_getopt.h
+1
-0
mysys/my_getopt.c
mysys/my_getopt.c
+43
-3
sql/sql_plugin.cc
sql/sql_plugin.cc
+7
-3
No files found.
include/my_getopt.h
View file @
6b35867f
...
@@ -68,6 +68,7 @@ extern my_error_reporter my_getopt_error_reporter;
...
@@ -68,6 +68,7 @@ extern my_error_reporter my_getopt_error_reporter;
extern
int
handle_options
(
int
*
argc
,
char
***
argv
,
extern
int
handle_options
(
int
*
argc
,
char
***
argv
,
const
struct
my_option
*
longopts
,
my_get_one_option
);
const
struct
my_option
*
longopts
,
my_get_one_option
);
extern
void
my_cleanup_options
(
const
struct
my_option
*
options
);
extern
void
my_print_help
(
const
struct
my_option
*
options
);
extern
void
my_print_help
(
const
struct
my_option
*
options
);
extern
void
my_print_variables
(
const
struct
my_option
*
options
);
extern
void
my_print_variables
(
const
struct
my_option
*
options
);
extern
void
my_getopt_register_get_addr
(
uchar
**
(
*
func_addr
)(
const
char
*
,
uint
,
extern
void
my_getopt_register_get_addr
(
uchar
**
(
*
func_addr
)(
const
char
*
,
uint
,
...
...
mysys/my_getopt.c
View file @
6b35867f
...
@@ -20,6 +20,9 @@
...
@@ -20,6 +20,9 @@
#include <mysys_err.h>
#include <mysys_err.h>
#include <my_getopt.h>
#include <my_getopt.h>
typedef
void
(
*
init_func_p
)(
const
struct
my_option
*
option
,
uchar
*
*
variable
,
longlong
value
);
static
void
default_reporter
(
enum
loglevel
level
,
const
char
*
format
,
...);
static
void
default_reporter
(
enum
loglevel
level
,
const
char
*
format
,
...);
my_error_reporter
my_getopt_error_reporter
=
&
default_reporter
;
my_error_reporter
my_getopt_error_reporter
=
&
default_reporter
;
...
@@ -33,7 +36,12 @@ static longlong getopt_ll(char *arg, const struct my_option *optp, int *err);
...
@@ -33,7 +36,12 @@ static longlong getopt_ll(char *arg, const struct my_option *optp, int *err);
static
ulonglong
getopt_ull
(
char
*
arg
,
const
struct
my_option
*
optp
,
static
ulonglong
getopt_ull
(
char
*
arg
,
const
struct
my_option
*
optp
,
int
*
err
);
int
*
err
);
static
double
getopt_double
(
char
*
arg
,
const
struct
my_option
*
optp
,
int
*
err
);
static
double
getopt_double
(
char
*
arg
,
const
struct
my_option
*
optp
,
int
*
err
);
static
void
init_variables
(
const
struct
my_option
*
options
);
static
void
init_variables
(
const
struct
my_option
*
options
,
init_func_p
init_one_value
);
static
void
init_one_value
(
const
struct
my_option
*
option
,
uchar
*
*
variable
,
longlong
value
);
static
void
fini_one_value
(
const
struct
my_option
*
option
,
uchar
*
*
variable
,
longlong
value
);
static
int
setval
(
const
struct
my_option
*
opts
,
uchar
*
*
value
,
char
*
argument
,
static
int
setval
(
const
struct
my_option
*
opts
,
uchar
*
*
value
,
char
*
argument
,
my_bool
set_maximum_value
);
my_bool
set_maximum_value
);
static
char
*
check_struct_option
(
char
*
cur_arg
,
char
*
key_name
);
static
char
*
check_struct_option
(
char
*
cur_arg
,
char
*
key_name
);
...
@@ -117,7 +125,7 @@ int handle_options(int *argc, char ***argv,
...
@@ -117,7 +125,7 @@ int handle_options(int *argc, char ***argv,
DBUG_ASSERT
(
argv
&&
*
argv
);
DBUG_ASSERT
(
argv
&&
*
argv
);
(
*
argc
)
--
;
/* Skip the program name */
(
*
argc
)
--
;
/* Skip the program name */
(
*
argv
)
++
;
/* --- || ---- */
(
*
argv
)
++
;
/* --- || ---- */
init_variables
(
longopts
);
init_variables
(
longopts
,
init_one_value
);
for
(
pos
=
*
argv
,
pos_end
=
pos
+
*
argc
;
pos
!=
pos_end
;
pos
++
)
for
(
pos
=
*
argv
,
pos_end
=
pos
+
*
argc
;
pos
!=
pos_end
;
pos
++
)
{
{
...
@@ -906,6 +914,37 @@ static void init_one_value(const struct my_option *option, uchar* *variable,
...
@@ -906,6 +914,37 @@ static void init_one_value(const struct my_option *option, uchar* *variable,
}
}
/*
Init one value to it's default values
SYNOPSIS
init_one_value()
option Option to initialize
value Pointer to variable
*/
static
void
fini_one_value
(
const
struct
my_option
*
option
,
uchar
*
*
variable
,
longlong
value
__attribute__
((
unused
)))
{
DBUG_ENTER
(
"fini_one_value"
);
switch
((
option
->
var_type
&
GET_TYPE_MASK
))
{
case
GET_STR_ALLOC
:
my_free
((
*
(
char
**
)
variable
),
MYF
(
MY_ALLOW_ZERO_PTR
));
*
((
char
**
)
variable
)
=
NULL
;
break
;
default:
/* dummy default to avoid compiler warnings */
break
;
}
DBUG_VOID_RETURN
;
}
void
my_cleanup_options
(
const
struct
my_option
*
options
)
{
init_variables
(
options
,
fini_one_value
);
}
/*
/*
initialize all variables to their default values
initialize all variables to their default values
...
@@ -919,7 +958,8 @@ static void init_one_value(const struct my_option *option, uchar* *variable,
...
@@ -919,7 +958,8 @@ static void init_one_value(const struct my_option *option, uchar* *variable,
for a value and initialize.
for a value and initialize.
*/
*/
static
void
init_variables
(
const
struct
my_option
*
options
)
static
void
init_variables
(
const
struct
my_option
*
options
,
init_func_p
init_one_value
)
{
{
DBUG_ENTER
(
"init_variables"
);
DBUG_ENTER
(
"init_variables"
);
for
(;
options
->
name
;
options
++
)
for
(;
options
->
name
;
options
++
)
...
...
sql/sql_plugin.cc
View file @
6b35867f
...
@@ -3092,7 +3092,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
...
@@ -3092,7 +3092,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
{
{
sql_print_error
(
"Parsing options for plugin '%s' failed."
,
sql_print_error
(
"Parsing options for plugin '%s' failed."
,
tmp
->
name
.
str
);
tmp
->
name
.
str
);
DBUG_RETURN
(
error
)
;
goto
err
;
}
}
}
}
...
@@ -3102,6 +3102,8 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
...
@@ -3102,6 +3102,8 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
*
enabled
=
TRUE
;
*
enabled
=
TRUE
;
}
}
error
=
1
;
if
(
*
enabled
)
if
(
*
enabled
)
{
{
for
(
opt
=
tmp
->
plugin
->
system_vars
;
opt
&&
*
opt
;
opt
++
)
for
(
opt
=
tmp
->
plugin
->
system_vars
;
opt
&&
*
opt
;
opt
++
)
...
@@ -3140,7 +3142,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
...
@@ -3140,7 +3142,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
{
{
sql_print_error
(
"Plugin '%s' has conflicting system variables"
,
sql_print_error
(
"Plugin '%s' has conflicting system variables"
,
tmp
->
name
.
str
);
tmp
->
name
.
str
);
DBUG_RETURN
(
1
)
;
goto
err
;
}
}
tmp
->
system_vars
=
chain
.
first
;
tmp
->
system_vars
=
chain
.
first
;
}
}
...
@@ -3150,7 +3152,9 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
...
@@ -3150,7 +3152,9 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
if
(
enabled_saved
&&
global_system_variables
.
log_warnings
)
if
(
enabled_saved
&&
global_system_variables
.
log_warnings
)
sql_print_information
(
"Plugin '%s' disabled by command line option"
,
sql_print_information
(
"Plugin '%s' disabled by command line option"
,
tmp
->
name
.
str
);
tmp
->
name
.
str
);
DBUG_RETURN
(
1
);
err:
my_cleanup_options
(
opts
);
DBUG_RETURN
(
error
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment