summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorramil@mysql.com <>2005-04-26 15:43:20 +0500
committerramil@mysql.com <>2005-04-26 15:43:20 +0500
commit7882cd32bcfef6681e2c6fcd6cf7fd970e62e837 (patch)
tree53b8086d2c8f362453a09687a1432aa00407ee4a
parentb890c05b4dd3461879a30da3b9cbf44e8f7b6040 (diff)
downloadmariadb-git-7882cd32bcfef6681e2c6fcd6cf7fd970e62e837.tar.gz
A fix (bug #9756: mysql client failing on dumps containing certain \ sequences).
-rw-r--r--mysys/charset.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index a4a8205a3f9..534a6aa998e 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -581,15 +581,15 @@ ulong escape_string_for_mysql(CHARSET_INFO *charset_info,
{
char escape=0;
#ifdef USE_MB
- int l;
- if (use_mb_flag && (l= my_ismbchar(charset_info, from, end)))
+ int tmp_length;
+ if (use_mb_flag && (tmp_length= my_ismbchar(charset_info, from, end)))
{
- if (to + l >= to_end)
+ if (to + tmp_length > to_end)
{
overflow=1;
break;
}
- while (l--)
+ while (tmp_length--)
*to++= *from++;
from--;
continue;
@@ -605,7 +605,7 @@ ulong escape_string_for_mysql(CHARSET_INFO *charset_info,
multi-byte character into a valid one. For example, 0xbf27 is not
a valid GBK character, but 0xbf5c is. (0x27 = ', 0x5c = \)
*/
- if (use_mb_flag && (l= my_mbcharlen(charset_info, *from)) > 1)
+ if (use_mb_flag && (tmp_length= my_mbcharlen(charset_info, *from)) > 1)
escape= *from;
else
#endif
@@ -634,7 +634,7 @@ ulong escape_string_for_mysql(CHARSET_INFO *charset_info,
}
if (escape)
{
- if (to + 2 >= to_end)
+ if (to + 2 > to_end)
{
overflow=1;
break;
@@ -644,7 +644,7 @@ ulong escape_string_for_mysql(CHARSET_INFO *charset_info,
}
else
{
- if (to + 1 >= to_end)
+ if (to + 1 > to_end)
{
overflow=1;
break;