summaryrefslogtreecommitdiff
path: root/client/mysql.cc
diff options
context:
space:
mode:
authorunknown <jani@rhols221.adsl.netsonic.fi>2003-03-21 14:14:36 +0200
committerunknown <jani@rhols221.adsl.netsonic.fi>2003-03-21 14:14:36 +0200
commit8b9d8b2966aa9add3d01ef292fd6631a3ca13f5e (patch)
tree659b1e2e0975c23d6bdf8c02e2434b889b705502 /client/mysql.cc
parent6665ead9baad673347f38043b1c5a6b270b61ebf (diff)
downloadmariadb-git-8b9d8b2966aa9add3d01ef292fd6631a3ca13f5e.tar.gz
Fixed a bug in comment handling.
Diffstat (limited to 'client/mysql.cc')
-rw-r--r--client/mysql.cc12
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())