diff options
author | unknown <hf@deer.(none)> | 2005-01-11 22:15:29 +0400 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2005-01-11 22:15:29 +0400 |
commit | a1b522f809e49dbd0782a50c246bb839d458ff71 (patch) | |
tree | 95fe6571b60260dce0ed58452d48c4e114174fc5 /mysys/default.c | |
parent | 6dbadfa12e7fdcea2cb99df13b8da3f1a78de0d7 (diff) | |
parent | 4f113ac4f385af6a8dd3de4e9a1b117f211cce23 (diff) | |
download | mariadb-git-a1b522f809e49dbd0782a50c246bb839d458ff71.tar.gz |
Merge bk@192.168.21.1:/usr/home/bk/mysql-5.0
into deer.(none):/home/hf/work/mysql-5.0.clean
Diffstat (limited to 'mysys/default.c')
-rw-r--r-- | mysys/default.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mysys/default.c b/mysys/default.c index 3de134d936f..9fc1bc8aa56 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -262,6 +262,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 @@ -325,6 +355,15 @@ int load_defaults(const char *conf_file, const char **groups, DBUG_RETURN(0); } + 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); + group.count=0; group.name= "defaults"; group.type_names= groups; |