diff options
Diffstat (limited to 'client/mysql.cc')
-rw-r--r-- | client/mysql.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index f9aba0fd62a..d81d8abfcfd 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1145,8 +1145,6 @@ int main(int argc,char *argv[]) outfile[0]=0; // no (default) outfile strmov(pager, "stdout"); // the default, if --pager wasn't given - mysql_init(&mysql); - { char *tmp=getenv("PAGER"); if (tmp && strlen(tmp)) @@ -1185,7 +1183,11 @@ int main(int argc,char *argv[]) } defaults_argv=argv; if ((status.exit_status= get_options(argc, (char **) argv))) - mysql_end(-1); + { + free_defaults(defaults_argv); + my_end(0); + exit(status.exit_status); + } if (status.batch && !status.line_buff && !(status.line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, stdin))) @@ -2321,8 +2323,10 @@ static bool add_line(String &buffer, char *line, ulong line_length, continue; } #endif - if (!*ml_comment && inchar == '\\' && - !(*in_string && + if (!*ml_comment && inchar == '\\' && *in_string != '`' && + !(*in_string == '"' && + (mysql.server_status & SERVER_STATUS_ANSI_QUOTES)) && + !(*in_string && (mysql.server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES))) { // Found possbile one character command like \c |