summaryrefslogtreecommitdiff
path: root/mysys/default.c
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2005-01-11 21:00:53 +0400
committerunknown <hf@deer.(none)>2005-01-11 21:00:53 +0400
commit4f113ac4f385af6a8dd3de4e9a1b117f211cce23 (patch)
treea016853c9385e1555657e606886d3588657139ab /mysys/default.c
parentd067695909d6aa58e30dd43eedc2a8e3a7fc588c (diff)
parent7bb97a4ad8aee442d657de23093d1c9f4a2013d5 (diff)
downloadmariadb-git-4f113ac4f385af6a8dd3de4e9a1b117f211cce23.tar.gz
Merging conflicts resolved
VC++Files/libmysqld/libmysqld.dsp: Auto merged client/mysql.cc: Auto merged include/my_sys.h: Auto merged libmysqld/lib_sql.cc: Auto merged mysql-test/r/ctype_utf8.result: Auto merged ndb/src/kernel/blocks/backup/Backup.cpp: Auto merged ndb/src/kernel/blocks/suma/Suma.cpp: Auto merged ndb/src/mgmsrv/InitConfigFileParser.cpp: Auto merged sql/item_strfunc.cc: Auto merged sql/strfunc.cc: Auto merged VC++Files/sql/mysqld.dsp: Libraries changed mysys/default.c: get_defaults_files implementation added sql/sql_base.cc: merging sql/sql_show.cc: merging
Diffstat (limited to 'mysys/default.c')
-rw-r--r--mysys/default.c39
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;