diff options
author | unknown <jani@rhols221.adsl.netsonic.fi> | 2003-03-21 14:14:36 +0200 |
---|---|---|
committer | unknown <jani@rhols221.adsl.netsonic.fi> | 2003-03-21 14:14:36 +0200 |
commit | 8b9d8b2966aa9add3d01ef292fd6631a3ca13f5e (patch) | |
tree | 659b1e2e0975c23d6bdf8c02e2434b889b705502 /client/mysql.cc | |
parent | 6665ead9baad673347f38043b1c5a6b270b61ebf (diff) | |
download | mariadb-git-8b9d8b2966aa9add3d01ef292fd6631a3ca13f5e.tar.gz |
Fixed a bug in comment handling.
Diffstat (limited to 'client/mysql.cc')
-rw-r--r-- | client/mysql.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index 6c8b7c8eb7b..4f7548afc92 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -40,7 +40,7 @@ #include <signal.h> #include <violite.h> -const char *VER= "12.19"; +const char *VER= "12.20"; /* Don't try to make a nice table if the data is too big */ #define MAX_COLUMN_LENGTH 1024 @@ -919,6 +919,7 @@ static bool add_line(String &buffer,char *line,char *in_string) uchar inchar; char buff[80],*pos,*out; COMMANDS *com; + my_bool in_comment= 0; if (!line[0] && buffer.is_empty()) return 0; @@ -978,7 +979,7 @@ static bool add_line(String &buffer,char *line,char *in_string) continue; } } - else if (inchar == ';' && !*in_string) + else if (inchar == ';' && !*in_string && !in_comment) { // ';' is end of command if (out != line) buffer.append(line,(uint) (out-line)); // Add this line @@ -1009,6 +1010,13 @@ static bool add_line(String &buffer,char *line,char *in_string) else if (!*in_string && (inchar == '\'' || inchar == '"')) *in_string=(char) inchar; *out++ = (char) inchar; + if (inchar == '*' && !*in_string) + { + if (pos != line && pos[-1] == '/') + in_comment= 1; + else if (in_comment && pos[1] == '/') + in_comment= 0; + } } } if (out != line || !buffer.is_empty()) |