diff options
author | unknown <petr@mysql.com> | 2006-02-14 03:09:17 +0300 |
---|---|---|
committer | unknown <petr@mysql.com> | 2006-02-14 03:09:17 +0300 |
commit | 8a4ebb52325702b2e781e11f730e1df78bceaef9 (patch) | |
tree | 37ec285e31f4858127ce2f4a78a0c5da4c98ccf8 /server-tools | |
parent | 10c6505550d1b0c00f60b701447262021fc66138 (diff) | |
download | mariadb-git-8a4ebb52325702b2e781e11f730e1df78bceaef9.tar.gz |
fix Bug#12813 "Instance Manager: START/STOP INSTANCE
commands accept a list as argument"
mysql-test/r/im_life_cycle.result:
update result file
mysql-test/t/im_life_cycle.imtest:
add a test for the bug
server-tools/instance-manager/parse.cc:
check for nonaplhanumeric symbols at the end of the commands
Diffstat (limited to 'server-tools')
-rw-r--r-- | server-tools/instance-manager/parse.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/server-tools/instance-manager/parse.cc b/server-tools/instance-manager/parse.cc index 9d9064240d4..4a8e85faf8f 100644 --- a/server-tools/instance-manager/parse.cc +++ b/server-tools/instance-manager/parse.cc @@ -143,7 +143,7 @@ Command *parse_command(Instance_map *map, const char *text) instance_name_len= word_len; text+= word_len; /* it should be the end of command */ - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); if (word_len) goto syntax_error; @@ -156,7 +156,7 @@ Command *parse_command(Instance_map *map, const char *text) if (shift_token(&text, &word_len) != TOK_INSTANCES) goto syntax_error; - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); if (word_len) goto syntax_error; @@ -197,7 +197,7 @@ Command *parse_command(Instance_map *map, const char *text) } /* should be empty */ - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); if (word_len) goto syntax_error; @@ -213,7 +213,7 @@ Command *parse_command(Instance_map *map, const char *text) case TOK_SHOW: switch (shift_token(&text, &word_len)) { case TOK_INSTANCES: - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); if (word_len) goto syntax_error; command= new Show_instances(map); @@ -226,7 +226,7 @@ Command *parse_command(Instance_map *map, const char *text) goto syntax_error; text+= instance_name_len; /* check that this is the end of the command */ - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); if (word_len) goto syntax_error; if (tok2 == TOK_STATUS) @@ -250,7 +250,7 @@ Command *parse_command(Instance_map *map, const char *text) case TOK_LOG: switch (Token tok3= shift_token(&text, &word_len)) { case TOK_FILES: - get_word(&text, &word_len); + get_word(&text, &word_len, NONSPACE); /* check that this is the end of the command */ if (word_len) goto syntax_error; @@ -293,7 +293,10 @@ Command *parse_command(Instance_map *map, const char *text) command= new Show_instance_log(map, instance_name, instance_name_len, log_type, log_size, text); - + get_word(&text, &word_len, NONSPACE); + /* check that this is the end of the command */ + if (word_len) + goto syntax_error; break; case '\0': command= new Show_instance_log(map, instance_name, |