mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Changed GET_STRALC to GET_STR_ALLOC
mysys/my_getopt.c: Changed GET_STRALC to GET_STR_ALLOC Added error checking for my_strdup()
This commit is contained in:
parent
dc2b6e456f
commit
89617526c8
7 changed files with 19 additions and 18 deletions
|
@ -459,7 +459,7 @@ static struct my_option my_long_options[] =
|
|||
(gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"database", 'D', "Database to use.", (gptr*) ¤t_db,
|
||||
(gptr*) ¤t_db, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) ¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"execute", 'e', "Execute command and quit. (Output like with --batch).", 0,
|
||||
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
||||
|
@ -481,7 +481,7 @@ static struct my_option my_long_options[] =
|
|||
{"no-beep", 'b', "Turn off beep on error.", (gptr*) &opt_nobeep,
|
||||
(gptr*) &opt_nobeep, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"host", 'h', "Connect to host.", (gptr*) ¤t_host,
|
||||
(gptr*) ¤t_host, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) ¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"html", 'H', "Produce HTML output.", (gptr*) &opt_html, (gptr*) &opt_html,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"xml", 'X', "Produce XML output", (gptr*) &opt_xml, (gptr*) &opt_xml, 0,
|
||||
|
@ -528,7 +528,7 @@ static struct my_option my_long_options[] =
|
|||
(gptr*) &opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, MYSQL_PORT, 0, 0, 0, 0,
|
||||
0},
|
||||
{"prompt", OPT_PROMPT, "Set the mysql prompt to this value.",
|
||||
(gptr*) ¤t_prompt, (gptr*) ¤t_prompt, 0, GET_STRALC,
|
||||
(gptr*) ¤t_prompt, (gptr*) ¤t_prompt, 0, GET_STR_ALLOC,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"quick", 'q',
|
||||
"Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file. ",
|
||||
|
@ -539,7 +539,7 @@ static struct my_option my_long_options[] =
|
|||
{"silent", 's', "Be more silent.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0,
|
||||
0, 0},
|
||||
{"socket", 'S', "Socket file to use for connection.",
|
||||
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STRALC,
|
||||
(gptr*) &opt_mysql_unix_port, (gptr*) &opt_mysql_unix_port, 0, GET_STR_ALLOC,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#include "sslopt-longopts.h"
|
||||
{"table", 't', "Output in table format.", (gptr*) &output_tables,
|
||||
|
@ -551,7 +551,7 @@ static struct my_option my_long_options[] =
|
|||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#ifndef DONT_ALLOW_USER_CHANGE
|
||||
{"user", 'u', "User for login if not current user.", (gptr*) ¤t_user,
|
||||
(gptr*) ¤t_user, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) ¤t_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"safe-updates", 'U', "Only allow UPDATE and DELETE that uses keys.",
|
||||
(gptr*) &safe_updates, (gptr*) &safe_updates, 0, GET_BOOL, OPT_ARG, 0, 0,
|
||||
|
|
|
@ -144,7 +144,7 @@ static struct my_option my_long_options[] =
|
|||
#include "sslopt-longopts.h"
|
||||
#ifndef DONT_ALLOW_USER_CHANGE
|
||||
{"user", 'u', "User for login if not current user.", (gptr*) &user,
|
||||
(gptr*) &user, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) &user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"verbose", 'v', "Write more information.", (gptr*) &opt_verbose,
|
||||
(gptr*) &opt_verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -94,7 +94,7 @@ static struct my_option my_long_options[] =
|
|||
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"host",'h', "Connect to host.", (gptr*) ¤t_host,
|
||||
(gptr*) ¤t_host, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) ¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"medium-check", 'm',
|
||||
"Faster than extended-check, but only finds 99.99 percent of all errors. Should be good enough for most cases.",
|
||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -159,7 +159,7 @@ static struct my_option my_long_options[] =
|
|||
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"host", 'h', "Connect to host.", (gptr*) ¤t_host,
|
||||
(gptr*) ¤t_host, 0, GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
(gptr*) ¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"lines-terminated-by", OPT_LTB, "Lines in the i.file are terminated by ...",
|
||||
(gptr*) &lines_terminated, (gptr*) &lines_terminated, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
C_MODE_START
|
||||
|
||||
enum get_opt_var_type { GET_NO_ARG, GET_BOOL, GET_INT, GET_UINT, GET_LONG,
|
||||
GET_ULONG, GET_LL, GET_ULL, GET_STR, GET_STRALC };
|
||||
GET_ULONG, GET_LL, GET_ULL, GET_STR, GET_STR_ALLOC };
|
||||
enum get_opt_arg_type { NO_ARG, OPT_ARG, REQUIRED_ARG };
|
||||
|
||||
struct my_option
|
||||
|
|
|
@ -50,7 +50,7 @@ char *disabled_my_option= (char*) "0";
|
|||
#define ERR_ARGUMENT_REQUIRED 4
|
||||
#define ERR_VAR_PREFIX_NOT_UNIQUE 5
|
||||
#define ERR_UNKNOWN_VARIABLE 6
|
||||
#define ERR_MUST_BE_VARIABLE 7
|
||||
#define ERR_OUT_OF_MEMORY 7
|
||||
#define ERR_UNKNOWN_SUFFIX 8
|
||||
#define ERR_NO_PTR_TO_VARIABLE 9
|
||||
|
||||
|
@ -424,12 +424,13 @@ static int setval (const struct my_option *opts, char *argument,
|
|||
*((ulonglong*) result_pos)= getopt_ull(argument, opts, &err);
|
||||
else if (opts->var_type == GET_STR)
|
||||
*((char**) result_pos)= argument;
|
||||
else if (opts->var_type == GET_STRALC)
|
||||
else if (opts->var_type == GET_STR_ALLOC)
|
||||
{
|
||||
if ((*((char**) result_pos)))
|
||||
my_free((*(char**) result_pos),
|
||||
MYF(MY_WME | MY_FAE | MY_ALLOW_ZERO_PTR));
|
||||
*((char**) result_pos)= my_strdup(argument, MYF(MY_WME));
|
||||
MYF(MY_WME | MY_FAE));
|
||||
if (!(*((char**) result_pos)= my_strdup(argument, MYF(MY_WME))))
|
||||
return ERR_OUT_OF_MEMORY;
|
||||
}
|
||||
if (err)
|
||||
return ERR_UNKNOWN_SUFFIX;
|
||||
|
@ -635,7 +636,7 @@ void my_print_help(const struct my_option *options)
|
|||
}
|
||||
printf("--%s", optp->name);
|
||||
col+= 2 + strlen(optp->name);
|
||||
if (optp->var_type == GET_STR || optp->var_type == GET_STRALC)
|
||||
if (optp->var_type == GET_STR || optp->var_type == GET_STR_ALLOC)
|
||||
{
|
||||
printf("%s=name%s ", optp->arg_type == OPT_ARG ? "[" : "",
|
||||
optp->arg_type == OPT_ARG ? "]" : "");
|
||||
|
@ -702,7 +703,7 @@ void my_print_variables(const struct my_option *options)
|
|||
length= strlen(optp->name);
|
||||
for (; length < name_space; length++)
|
||||
putchar(' ');
|
||||
if (optp->var_type == GET_STR || optp->var_type == GET_STRALC)
|
||||
if (optp->var_type == GET_STR || optp->var_type == GET_STR_ALLOC)
|
||||
{
|
||||
if (*((char**) optp->value))
|
||||
printf("%s\n", *((char**) optp->value));
|
||||
|
|
|
@ -2977,7 +2977,7 @@ static struct my_option my_long_options[] =
|
|||
0, 0, 0, 0, 0, 0},
|
||||
{"log-bin", OPT_BIN_LOG,
|
||||
"Log queries in new binary format (for replication)",
|
||||
(gptr*) &opt_bin_logname, (gptr*) &opt_bin_logname, 0, GET_STRALC,
|
||||
(gptr*) &opt_bin_logname, (gptr*) &opt_bin_logname, 0, GET_STR_ALLOC,
|
||||
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"log-bin-index", OPT_BIN_LOG_INDEX,
|
||||
"File that holds the names for last binary log files",
|
||||
|
@ -3139,7 +3139,7 @@ static struct my_option my_long_options[] =
|
|||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"relay-log", OPT_RELAY_LOG, "Undocumented",
|
||||
(gptr*) &opt_relay_logname, (gptr*) &opt_relay_logname, 0,
|
||||
GET_STRALC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"relay-log-index", OPT_RELAY_LOG_INDEX, "Undocumented",
|
||||
(gptr*) &opt_relaylog_index_name, (gptr*) &opt_relaylog_index_name, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
@ -3208,7 +3208,7 @@ static struct my_option my_long_options[] =
|
|||
(gptr*) &relay_log_info_file, (gptr*) &relay_log_info_file, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"slave-load-tmpdir", OPT_SLAVE_LOAD_TMPDIR, "Undocumented",
|
||||
(gptr*) &slave_load_tmpdir, (gptr*) &slave_load_tmpdir, 0, GET_STRALC,
|
||||
(gptr*) &slave_load_tmpdir, (gptr*) &slave_load_tmpdir, 0, GET_STR_ALLOC,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"slave-skip-errors", OPT_SLAVE_SKIP_ERRORS,
|
||||
"Tells the slave thread to continue replication when a query returns an error from the provided list",
|
||||
|
|
Loading…
Reference in a new issue