mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge and two bug fixes in my_getopt.c
This commit is contained in:
@ -124,7 +124,7 @@ static my_bool info_flag=0,ignore_errors=0,wait_flag=0,quick=0,
|
|||||||
opt_compress=0, using_opt_local_infile=0,
|
opt_compress=0, using_opt_local_infile=0,
|
||||||
vertical=0, line_numbers=1, column_names=1,opt_html=0,
|
vertical=0, line_numbers=1, column_names=1,opt_html=0,
|
||||||
opt_xml=0,opt_nopager=1, opt_outfile=0, named_cmds= 0,
|
opt_xml=0,opt_nopager=1, opt_outfile=0, named_cmds= 0,
|
||||||
tty_password= 0. opt_nobeep=0;
|
tty_password= 0, opt_nobeep=0;
|
||||||
static uint verbose=0,opt_silent=0,opt_mysql_port=0, opt_local_infile=0;
|
static uint verbose=0,opt_silent=0,opt_mysql_port=0, opt_local_infile=0;
|
||||||
static my_string opt_mysql_unix_port=0;
|
static my_string opt_mysql_unix_port=0;
|
||||||
static int connect_flag=CLIENT_INTERACTIVE;
|
static int connect_flag=CLIENT_INTERACTIVE;
|
||||||
@ -469,8 +469,8 @@ static struct my_option my_long_options[] =
|
|||||||
{"debug", '#', "Output debug log.", (gptr*) &default_dbug_option,
|
{"debug", '#', "Output debug log.", (gptr*) &default_dbug_option,
|
||||||
(gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"database", 'D', "Database to use.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0,
|
{"database", 'D', "Database to use.", 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0, 0},
|
||||||
{"execute", 'e', "Execute command and quit. (Output like with --batch).", 0,
|
{"execute", 'e', "Execute command and quit. (Output like with --batch).", 0,
|
||||||
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
||||||
@ -602,8 +602,8 @@ Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB\n\
|
|||||||
This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\
|
This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\
|
||||||
and you are welcome to modify and redistribute it under the GPL license\n");
|
and you are welcome to modify and redistribute it under the GPL license\n");
|
||||||
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
|
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
|
||||||
print_defaults("my", load_default_groups);
|
|
||||||
my_print_help(my_long_options);
|
my_print_help(my_long_options);
|
||||||
|
print_defaults("my", load_default_groups);
|
||||||
my_print_variables(my_long_options);
|
my_print_variables(my_long_options);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -619,9 +619,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
strmov(mysql_charsets_dir, argument);
|
strmov(mysql_charsets_dir, argument);
|
||||||
charsets_dir = mysql_charsets_dir;
|
charsets_dir = mysql_charsets_dir;
|
||||||
break;
|
break;
|
||||||
case OPT_DEFAULT_CHARSET:
|
|
||||||
default_charset= optarg;
|
|
||||||
break;
|
|
||||||
case OPT_LOCAL_INFILE:
|
case OPT_LOCAL_INFILE:
|
||||||
using_opt_local_infile=1;
|
using_opt_local_infile=1;
|
||||||
opt_local_infile= test(!optarg || atoi(optarg)>0);
|
opt_local_infile= test(!optarg || atoi(optarg)>0);
|
||||||
@ -711,9 +708,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
else
|
else
|
||||||
tty_password= 1;
|
tty_password= 1;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case '#':
|
case '#':
|
||||||
DBUG_PUSH(argument ? argument : default_dbug_option);
|
DBUG_PUSH(argument ? argument : default_dbug_option);
|
||||||
info_flag= 1;
|
info_flag= 1;
|
||||||
|
break;
|
||||||
case 's':
|
case 's':
|
||||||
if (argument == disabled_my_option)
|
if (argument == disabled_my_option)
|
||||||
opt_silent= 0;
|
opt_silent= 0;
|
||||||
@ -753,10 +752,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
|||||||
case '?':
|
case '?':
|
||||||
usage(0);
|
usage(0);
|
||||||
exit(0);
|
exit(0);
|
||||||
case '#':
|
|
||||||
DBUG_PUSH(optarg ? optarg : default_dbug_option);
|
|
||||||
info_flag=1;
|
|
||||||
break;
|
|
||||||
#include "sslopt-case.h"
|
#include "sslopt-case.h"
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -405,7 +405,6 @@ static int get_options(int *argc, char ***argv)
|
|||||||
|
|
||||||
md_result_file= stdout;
|
md_result_file= stdout;
|
||||||
load_defaults("my",load_default_groups,argc,argv);
|
load_defaults("my",load_default_groups,argc,argv);
|
||||||
set_all_changeable_vars(md_changeable_vars);
|
|
||||||
|
|
||||||
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
|
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
|
||||||
{
|
{
|
||||||
|
@ -200,7 +200,6 @@ static struct my_option my_long_options[] =
|
|||||||
{"medium-check", 'm',
|
{"medium-check", 'm',
|
||||||
"Faster than extended-check, but only finds 99.99% of all errors. Should be good enough for most cases.",
|
"Faster than extended-check, but only finds 99.99% of all errors. Should be good enough for most cases.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0},
|
|
||||||
{"quick", 'q', "Faster repair by not modifying the data file.", 0, 0, 0,
|
{"quick", 'q', "Faster repair by not modifying the data file.", 0, 0, 0,
|
||||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"read-only", 'T', "Don't mark table as checked.", 0, 0, 0, GET_NO_ARG,
|
{"read-only", 'T', "Don't mark table as checked.", 0, 0, 0, GET_NO_ARG,
|
||||||
|
@ -300,7 +300,14 @@ int handle_options(int *argc, char ***argv,
|
|||||||
{
|
{
|
||||||
/* Option recognized. Find next what to do with it */
|
/* Option recognized. Find next what to do with it */
|
||||||
opt_found= 1;
|
opt_found= 1;
|
||||||
if (optp->arg_type == REQUIRED_ARG || optp->arg_type == OPT_ARG)
|
if (optp->var_type == GET_BOOL && optp->arg_type == NO_ARG)
|
||||||
|
{
|
||||||
|
*((my_bool*) optp->value)= (my_bool) 1;
|
||||||
|
(*argc)--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (optp->arg_type == REQUIRED_ARG ||
|
||||||
|
optp->arg_type == OPT_ARG)
|
||||||
{
|
{
|
||||||
if (*(optend + 1))
|
if (*(optend + 1))
|
||||||
{
|
{
|
||||||
@ -520,7 +527,7 @@ void my_print_help(const struct my_option *options)
|
|||||||
{
|
{
|
||||||
printf("%s=name%s ", optp->arg_type == OPT_ARG ? "[" : "",
|
printf("%s=name%s ", optp->arg_type == OPT_ARG ? "[" : "",
|
||||||
optp->arg_type == OPT_ARG ? "]" : "");
|
optp->arg_type == OPT_ARG ? "]" : "");
|
||||||
col+= 6;
|
col+= (optp->arg_type == OPT_ARG) ? 8 : 6;
|
||||||
}
|
}
|
||||||
else if (optp->var_type == GET_NO_ARG || optp->var_type == GET_BOOL)
|
else if (optp->var_type == GET_NO_ARG || optp->var_type == GET_BOOL)
|
||||||
{
|
{
|
||||||
@ -531,7 +538,7 @@ void my_print_help(const struct my_option *options)
|
|||||||
{
|
{
|
||||||
printf("%s=#%s ", optp->arg_type == OPT_ARG ? "[" : "",
|
printf("%s=#%s ", optp->arg_type == OPT_ARG ? "[" : "",
|
||||||
optp->arg_type == OPT_ARG ? "]" : "");
|
optp->arg_type == OPT_ARG ? "]" : "");
|
||||||
col+= 3;
|
col+= (optp->arg_type == OPT_ARG) ? 5 : 3;
|
||||||
}
|
}
|
||||||
if (col > name_space)
|
if (col > name_space)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user