summaryrefslogtreecommitdiff
path: root/client/mysql.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/mysql.cc')
-rw-r--r--client/mysql.cc14
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