diff options
author | unknown <monty@narttu.mysql.fi> | 2003-06-05 00:12:45 +0300 |
---|---|---|
committer | unknown <monty@narttu.mysql.fi> | 2003-06-05 00:12:45 +0300 |
commit | ad5e39bf12b7aeefbc313e464a1349541a7b15c5 (patch) | |
tree | 824e127f68404d3fbe881d6619e34ad389d21202 /mysys/default.c | |
parent | 020baadcfebbd0f2248d9a3fa15f29d6e9d954b4 (diff) | |
parent | c6c60f6ee819a238ab62e3f9608502c9a8f25b36 (diff) | |
download | mariadb-git-ad5e39bf12b7aeefbc313e464a1349541a7b15c5.tar.gz |
merge with public tree
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/config-win.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_version.h.in:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysys/default.c:
Auto merged
sql/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_string.cc:
Auto merged
sql/sql_string.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'mysys/default.c')
-rw-r--r-- | mysys/default.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/mysys/default.c b/mysys/default.c index bbf429eb920..a592e8b42e1 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -72,6 +72,7 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args,MEM_ROOT *alloc, const char *dir, const char *config_file, const char *ext, TYPELIB *group); +static char *remove_end_comment(char *ptr); void load_defaults(const char *conf_file, const char **groups, int *argc, char ***argv) @@ -297,8 +298,9 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc, } if (!read_values) continue; - if (!(end=value=strchr(ptr,'='))) - end=strend(ptr); /* Option without argument */ + end= remove_end_comment(ptr); + if ((value= strchr(ptr, '='))) + end= value; /* Option without argument */ for ( ; my_isspace(&my_charset_latin1,end[-1]) ; end--) ; if (!value) { @@ -368,6 +370,29 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc, } +static char *remove_end_comment(char *ptr) +{ + char quote= 0; + + for (; *ptr; ptr++) + { + if (*ptr == '\'' || *ptr == '\"') + { + if (!quote) + quote= *ptr; + else if (quote == *ptr) + quote= 0; + } + if (!quote && *ptr == '#') /* We are not inside a comment */ + { + *ptr= 0; + return ptr; + } + } + return ptr; +} + + void print_defaults(const char *conf_file, const char **groups) { #ifdef __WIN__ |