Commit 103d87ce authored by tim@white.box's avatar tim@white.box

Code cleanup in safe_mysqld.

Fix --core-file-size so that the argument is parsed correctly.
parent 2b6776d3
...@@ -23,37 +23,32 @@ parse_arguments() { ...@@ -23,37 +23,32 @@ parse_arguments() {
# We only need to pass arguments through to the server if we don't # We only need to pass arguments through to the server if we don't
# handle them here. So, we collect unrecognized options (passed on # handle them here. So, we collect unrecognized options (passed on
# the command line) into the args variable. # the command line) into the args variable.
pick_args= pick_args=$1; shift
if test "$1" = PICK-ARGS-FROM-ARGV
then
pick_args=1
shift
fi
for arg do for arg do
case "$arg" in case "$arg" in
# these get passed explicitly to mysqld # these get passed explicitly to mysqld
--basedir=*) MY_BASEDIR_VERSION=`echo "$arg" | sed -e "s;--basedir=;;"` ;; --basedir=*) MY_BASEDIR_VERSION=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--datadir=*) DATADIR=`echo "$arg" | sed -e "s;--datadir=;;"` ;; --datadir=*) DATADIR=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--pid-file=*) pid_file=`echo "$arg" | sed -e "s;--pid-file=;;"` ;; --pid-file=*) pid_file=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--user=*) user=`echo "$arg" | sed -e "s;--user=;;"` ;; --user=*) user=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
# these two might have been set in a [safe_mysqld] section of my.cnf # these two might have been set in a [safe_mysqld] section of my.cnf
# they get passed via environment variables to safe_mysqld # they get passed via environment variables to safe_mysqld
--socket=*) MYSQL_UNIX_PORT=`echo "$arg" | sed -e "s;--socket=;;"` ;; --socket=*) MYSQL_UNIX_PORT=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--port=*) MYSQL_TCP_PORT=`echo "$arg" | sed -e "s;--port=;;"` ;; --port=*) MYSQL_TCP_PORT=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
# safe_mysqld-specific options - must be set in my.cnf ([safe_mysqld])! # safe_mysqld-specific options
--ledir=*) ledir=`echo "$arg" | sed -e "s;--ledir=;;"` ;; --ledir=*) ledir=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--err-log=*) err_log=`echo "$arg" | sed -e "s;--err-log=;;"` ;; --err-log=*) err_log=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
# QQ The --open-files should be removed # QQ The --open-files should be removed
--open-files=*) open_files=`echo "$arg" | sed -e "s;--open-files=;;"` ;; --open-files=*) open_files=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--open-files-limit=*) open_files=`echo "$arg" | sed -e "s;--open-files-limit=;;"` ;; --open-files-limit=*) open_files=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--core-file-size=*) core_file_size=`echo "$arg" | sed -e "s;--core_file_size=;;"` ;; --core-file-size=*) core_file_size=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--timezone=*) TZ=`echo "$arg" | sed -e "s;--timezone=;;"` ; export TZ; ;; --timezone=*) TZ=`echo "$arg" | sed -e "s;--[^=]*=;;"` ; export TZ; ;;
--mysqld=*) MYSQLD=`echo "$arg" | sed -e "s;--mysqld=;;"` ;; --mysqld=*) MYSQLD=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;;
--mysqld-version=*) --mysqld-version=*)
tmp=`echo "$arg" | sed -e "s;--mysqld-version=;;"` tmp=`echo "$arg" | sed -e "s;--[^=]*=;;"`
if test -n "$tmp" if test -n "$tmp"
then then
MYSQLD="mysqld-$tmp" MYSQLD="mysqld-$tmp"
...@@ -62,7 +57,7 @@ parse_arguments() { ...@@ -62,7 +57,7 @@ parse_arguments() {
fi fi
;; ;;
*) *)
if test -n "$pick_args" if test $pick_args -eq 1
then then
# This sed command makes sure that any special chars are quoted, # This sed command makes sure that any special chars are quoted,
# so the arg gets passed exactly to the server. # so the arg gets passed exactly to the server.
...@@ -130,8 +125,8 @@ else ...@@ -130,8 +125,8 @@ else
fi fi
args= args=
parse_arguments `$print_defaults $defaults mysqld server safe_mysqld` parse_arguments 0 `$print_defaults $defaults mysqld server safe_mysqld`
parse_arguments PICK-ARGS-FROM-ARGV "$@" parse_arguments 1 "$@"
if test ! -x $ledir/$MYSQLD if test ! -x $ledir/$MYSQLD
then then
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment