summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorunknown <df@pippilotta.erinye.com>2007-12-20 21:37:21 +0100
committerunknown <df@pippilotta.erinye.com>2007-12-20 21:37:21 +0100
commit6dd1f417d32c8d545997fba0e4b7cbb7d64f6e64 (patch)
treebc0e858cda1071572638961e1b87b453acdb69f1 /client
parentadfd5ddcf58a767f5f589006ba90e21f352656c9 (diff)
downloadmariadb-git-6dd1f417d32c8d545997fba0e4b7cbb7d64f6e64.tar.gz
BUG#33057 mysql command line client slows down and uses 100% CPU when restoring dump
client/mysql.cc: BUG#33057, avoid calling strlen() *for every single character* in the client's input
Diffstat (limited to 'client')
-rw-r--r--client/mysql.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/client/mysql.cc b/client/mysql.cc
index 999a37e0f7e..6744600aadb 100644
--- a/client/mysql.cc
+++ b/client/mysql.cc
@@ -1272,9 +1272,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
if (status.add_to_history && line[0] && not_in_history(line))
add_history(line);
#endif
-#ifdef USE_MB
char *end_of_line=line+(uint) strlen(line);
-#endif
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
{
@@ -1364,7 +1362,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
}
}
else if (!*ml_comment && !*in_string &&
- strlen(pos) >= 10 &&
+ (end_of_line - pos) >= 10 &&
!my_strnncoll(charset_info, (uchar*) pos, 10,
(const uchar*) "delimiter ", 10))
{