diff options
author | unknown <serg@serg.mylan> | 2005-01-11 22:34:10 +0100 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2005-01-11 22:34:10 +0100 |
commit | 581c2148c4c2e13c76cf4b57ae0c74964e2ab651 (patch) | |
tree | ce087bea3f0f89ccded6d4ce75b557c81f62d42f /mysys | |
parent | 93283bd9a2adacfe71910a543f07a7a592f1e1a2 (diff) | |
parent | 8c71efbcd45fd625cfb8cd6f893642d0b69f3069 (diff) | |
download | mariadb-git-581c2148c4c2e13c76cf4b57ae0c74964e2ab651.tar.gz |
Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/default.c | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/mysys/default.c b/mysys/default.c index 3de134d936f..0b3f830d476 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -112,20 +112,14 @@ static int search_files(const char *conf_file, int *argc, char ***argv, DBUG_ENTER("search_files"); /* Check if we want to force the use a specific default file */ - forced_default_file= 0; - if (*argc >= 2) - { - if (is_prefix(argv[0][1],"--defaults-file=")) - { - forced_default_file= strchr(argv[0][1],'=') + 1; - (*args_used)++; - } - else if (is_prefix(argv[0][1],"--defaults-extra-file=")) - { - defaults_extra_file= strchr(argv[0][1],'=') + 1; - (*args_used)++; - } - } + get_defaults_files(*argc, *argv, + (char **)&forced_default_file, &defaults_extra_file); + if (forced_default_file) + forced_default_file= strchr(forced_default_file,'=')+1; + if (defaults_extra_file) + defaults_extra_file= strchr(defaults_extra_file,'=')+1; + + args_used+= (forced_default_file ? 1 : 0) + (defaults_extra_file ? 1 : 0); if (forced_default_file) { @@ -262,6 +256,36 @@ static int handle_default_option(void *in_ctx, const char *group_name, /* + Gets --defaults-file and --defaults-extra-file options from command line. + + SYNOPSIS + get_defaults_files() + argc Pointer to argc of original program + argv Pointer to argv of original program + defaults --defaults-file option + extra_defaults --defaults-extra-file option + + RETURN + defaults and extra_defaults will be set to appropriate items + of argv array, or to NULL if there are no such options +*/ + +void get_defaults_files(int argc, char **argv, + char **defaults, char **extra_defaults) +{ + *defaults=0; + *extra_defaults=0; + if (argc >= 2) + { + if (is_prefix(argv[1],"--defaults-file=")) + *defaults= argv[1]; + else if (is_prefix(argv[1],"--defaults-extra-file=")) + *extra_defaults= argv[1]; + } +} + + +/* Read options from configurations files SYNOPSIS |