diff options
author | unknown <msvensson@neptunus.(none)> | 2005-09-05 16:50:32 +0200 |
---|---|---|
committer | unknown <msvensson@neptunus.(none)> | 2005-09-05 16:50:32 +0200 |
commit | e10b50e6f13206ec8fc320518d4460ca39a12ed2 (patch) | |
tree | 8b2acb1a2b0329b24a35f27baa612f5c387659b9 /client | |
parent | 7f98b2a04625a9255103db171e542e523aa0b161 (diff) | |
download | mariadb-git-e10b50e6f13206ec8fc320518d4460ca39a12ed2.tar.gz |
Bug#12959 mysqltest crashes if testcase passed with -x option
client/mysqltest.c:
Fixes for mysqltest -x <filename>
mysql-test/t/mysqltest.test:
Test mysqltest -x <filename>
mysql-test/include/mysqltest-x.inc:
New BitKeeper file ``mysql-test/include/mysqltest-x.inc''
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index 33702e9d1d2..78d873468c4 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -2169,8 +2169,10 @@ int read_line(char *buf, int size) if (feof(cur_file->file)) { found_eof: - if (cur_file->file != stdin) + if (cur_file->file != stdin){ my_fclose(cur_file->file, MYF(0)); + cur_file->file= 0; + } my_free((gptr)cur_file->file_name, MYF(MY_ALLOW_ZERO_PTR)); cur_file->file_name= 0; lineno--; @@ -2556,10 +2558,11 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), argument= buff; } fn_format(buff, argument, "", "", 4); - DBUG_ASSERT(cur_file->file == 0); + DBUG_ASSERT(cur_file == file_stack && cur_file->file == 0); if (!(cur_file->file= my_fopen(buff, O_RDONLY | FILE_BINARY, MYF(MY_WME)))) - die("Could not open %s: errno = %d", argument, errno); + die("Could not open %s: errno = %d", buff, errno); + cur_file->file_name= my_strdup(buff, MYF(MY_FAE)); break; } case 'm': @@ -3746,9 +3749,8 @@ int main(int argc, char **argv) embedded_server_args, (char**) embedded_server_groups)) die("Can't initialize MySQL server"); - if (cur_file == file_stack) + if (cur_file == file_stack && cur_file->file == 0) { - DBUG_ASSERT(cur_file->file == 0); cur_file->file= stdin; cur_file->file_name= my_strdup("<stdin>", MYF(MY_WME)); } |