57
56
{"defaults-extra-file", 'e',
58
57
"Read this file after the global config file and before the config file in the users home directory; should be the first option",
59
(char**) &my_defaults_extra_file, (char**) &my_defaults_extra_file, 0,
58
(char**) &internal::my_defaults_extra_file, (char**) &internal::my_defaults_extra_file, 0,
60
59
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
61
60
{"defaults-group-suffix", 'g',
62
61
"In addition to the given groups, read also groups with this suffix",
63
(char**) &my_defaults_group_suffix, (char**) &my_defaults_group_suffix,
62
(char**) &internal::my_defaults_group_suffix, (char**) &internal::my_defaults_group_suffix,
64
63
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
65
64
{"extra-file", 'e',
66
65
"Deprecated. Synonym for --defaults-extra-file.",
67
(char**) &my_defaults_extra_file,
68
(char**) &my_defaults_extra_file, 0, GET_STR,
66
(char**) &internal::my_defaults_extra_file,
67
(char**) &internal::my_defaults_extra_file, 0, GET_STR,
69
68
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
70
69
{"no-defaults", 'n', "Return an empty string (useful for scripts).",
71
70
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
81
80
static void usage(bool version)
83
printf("%s Ver 1.6 for %s-%s at %s\n",my_progname,HOST_VENDOR,HOST_OS,
82
printf("%s Ver 1.6 for %s-%s at %s\n",internal::my_progname,HOST_VENDOR,HOST_OS,
87
86
puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n");
88
87
puts("Prints all arguments that is give to some program using the default files");
89
printf("Usage: %s [OPTIONS] groups\n", my_progname);
88
printf("Usage: %s [OPTIONS] groups\n", internal::my_progname);
90
89
my_print_help(my_long_options);
91
my_print_default_files(config_file);
90
internal::my_print_default_files(config_file);
92
91
my_print_variables(my_long_options);
93
printf("\nExample usage:\n%s --defaults-file=example.cnf client mysql\n", my_progname);
92
printf("\nExample usage:\n%s --defaults-file=example.cnf client mysql\n", internal::my_progname);
96
bool get_one_option(int optid, const struct my_option *, char *)
95
static bool get_one_option(int optid, const struct my_option *, char *)
141
140
MY_INIT(argv[0]);
144
args_used= get_defaults_options(argc, argv, &defaults, &extra_defaults,
143
args_used= internal::get_defaults_options(argc, argv, &defaults, &extra_defaults,
147
146
/* Copy defaults-xxx arguments & program name */
148
147
count=args_used+1;
158
157
memcpy(load_default_groups, argv, (argc + 1) * sizeof(*argv));
160
if ((error= load_defaults(config_file, (const char **) load_default_groups,
159
if ((error= internal::load_defaults(config_file, (const char **) load_default_groups,
161
160
&count, &arguments)))
163
162
if (verbose && opt_defaults_file_used)