summaryrefslogtreecommitdiff
path: root/mysys/my_getopt.c
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2019-09-29 14:38:53 +0200
committerSergei Golubchik <serg@mariadb.org>2019-10-14 10:29:30 +0200
commiteb3431d5299d8ec531a3f54b0638d30efa391d55 (patch)
treee3ead19203ebb5131ec07173454b7070cc7f91d1 /mysys/my_getopt.c
parent8965ae27b9f011333dd1e2dc47db6e0514b5976a (diff)
downloadmariadb-git-eb3431d5299d8ec531a3f54b0638d30efa391d55.tar.gz
cleanup: my_getopt, consistency
almost all my_getopt settings and callbacks are global variables, directly assignable to configure my_getopt. Only getopt_get_addr was using a setter function. Get rid of it, make it a global directly assignable variable like all other settings. Also make getopt_compare_strings() static.
Diffstat (limited to 'mysys/my_getopt.c')
-rw-r--r--mysys/my_getopt.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/mysys/my_getopt.c b/mysys/my_getopt.c
index 7d539cd44fe..d14e37133ec 100644
--- a/mysys/my_getopt.c
+++ b/mysys/my_getopt.c
@@ -31,7 +31,7 @@ static void default_reporter(enum loglevel level, const char *format, ...);
my_error_reporter my_getopt_error_reporter= &default_reporter;
static int findopt(char *, uint, const struct my_option **, const char **);
-my_bool getopt_compare_strings(const char *, const char *, uint);
+static my_bool getopt_compare_strings(const char *, const char *, uint);
static longlong getopt_ll(char *arg, const struct my_option *optp, int *err);
static ulonglong getopt_ull(char *, const struct my_option *, int *);
static double getopt_double(char *arg, const struct my_option *optp, int *err);
@@ -79,8 +79,9 @@ my_bool my_getopt_skip_unknown= 0;
*/
my_bool my_getopt_prefix_matching= 1;
-static void default_reporter(enum loglevel level,
- const char *format, ...)
+my_getopt_value my_getopt_get_addr= 0;
+
+static void default_reporter(enum loglevel level, const char *format, ...)
{
va_list args;
DBUG_ENTER("default_reporter");
@@ -97,13 +98,6 @@ static void default_reporter(enum loglevel level,
DBUG_VOID_RETURN;
}
-static my_getopt_value getopt_get_addr;
-
-void my_getopt_register_get_addr(my_getopt_value func_addr)
-{
- getopt_get_addr= func_addr;
-}
-
union ull_dbl
{
ulonglong ull;
@@ -408,9 +402,9 @@ int handle_options(int *argc, char ***argv,
DBUG_RETURN(EXIT_OPTION_DISABLED);
}
error= 0;
- value= optp->var_type & GET_ASK_ADDR ?
- (*getopt_get_addr)(key_name, (uint) strlen(key_name), optp, &error) :
- optp->value;
+ value= optp->var_type & GET_ASK_ADDR
+ ? (*my_getopt_get_addr)(key_name, (uint)strlen(key_name), optp, &error)
+ : optp->value;
if (error)
DBUG_RETURN(error);
@@ -1430,8 +1424,8 @@ static void init_variables(const struct my_option *options,
*/
if (options->u_max_value)
func_init_one_value(options, options->u_max_value, options->max_value);
- value= (options->var_type & GET_ASK_ADDR ?
- (*getopt_get_addr)("", 0, options, 0) : options->value);
+ value= options->var_type & GET_ASK_ADDR ?
+ (*my_getopt_get_addr)("", 0, options, 0) : options->value;
if (value)
func_init_one_value(options, value, options->def_value);
}
@@ -1635,8 +1629,8 @@ void my_print_variables(const struct my_option *options)
for (optp= options; optp->name; optp++)
{
- void *value= (optp->var_type & GET_ASK_ADDR ?
- (*getopt_get_addr)("", 0, optp, 0) : optp->value);
+ void *value= optp->var_type & GET_ASK_ADDR ?
+ (*my_getopt_get_addr)("", 0, optp, 0) : optp->value;
if (value)
{
length= print_name(optp);