Commit 70a25875 authored by jani@hynda.mysql.fi's avatar jani@hynda.mysql.fi
Browse files

Merge and two bug fixes in my_getopt.c

parent 22a35da6
Loading
Loading
Loading
Loading
+6 −11
Original line number Diff line number Diff line
@@ -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,
	       vertical=0, line_numbers=1, column_names=1,opt_html=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 my_string opt_mysql_unix_port=0;
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,
   (gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
#endif
  {"database", 'D', "Database to use.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0,
   0, 0, 0},
  {"database", 'D', "Database to use.", 0, 0, 0, GET_STR, 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.",
@@ -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\
and you are welcome to modify and redistribute it under the GPL license\n");
  printf("Usage: %s [OPTIONS] [database]\n", my_progname);
  print_defaults("my", load_default_groups);
  my_print_help(my_long_options);
  print_defaults("my", load_default_groups);
  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);
      charsets_dir = mysql_charsets_dir;
      break;
    case OPT_DEFAULT_CHARSET:
      default_charset= optarg;
      break;
    case OPT_LOCAL_INFILE:
      using_opt_local_infile=1;
      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
	  tty_password= 1;
      }
      break;
    case '#':
      DBUG_PUSH(argument ? argument : default_dbug_option);
      info_flag= 1;
      break;
    case 's':
      if (argument == disabled_my_option)
	opt_silent= 0;
@@ -753,10 +752,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
    case '?':
      usage(0);
      exit(0);
    case '#':
      DBUG_PUSH(optarg ? optarg : default_dbug_option);
      info_flag=1;
      break;
#include "sslopt-case.h"
  }
  return 0;
+0 −1
Original line number Diff line number Diff line
@@ -405,7 +405,6 @@ static int get_options(int *argc, char ***argv)

  md_result_file= stdout;
  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)))
  {
+0 −1
Original line number Diff line number Diff line
@@ -200,7 +200,6 @@ static struct my_option my_long_options[] =
  {"medium-check", 'm',
   "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},
  {"quick", 'q', "Faster repair by not modifying the data file.", 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,
+10 −3
Original line number Diff line number Diff line
@@ -300,7 +300,14 @@ int handle_options(int *argc, char ***argv,
	    {
	      /* Option recognized. Find next what to do with it */
	      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))
		{
@@ -520,7 +527,7 @@ void my_print_help(const struct my_option *options)
    {
      printf("%s=name%s ", 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)
    {
@@ -531,7 +538,7 @@ void my_print_help(const struct my_option *options)
    {
      printf("%s=#%s ", optp->arg_type == OPT_ARG ? "[" : "",
	     optp->arg_type == OPT_ARG ? "]" : "");
      col+= 3;
      col+= (optp->arg_type == OPT_ARG) ? 5 : 3;
    }
    if (col > name_space)
    {